GOGC задаёт целевой рост памяти между циклами GC: большее значение обычно уменьшает частоту сборок ценой памяти. STW-паузы могут влиять на хвост задержек.
Как GOGC влияет на производительность сервиса? Что такое STW и как оно влияет на latency?
GOGC задаёт целевой рост памяти между циклами GC: большее значение обычно уменьшает частоту сборок ценой памяти. STW-паузы могут влиять на хвост задержек.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
GOGC задаёт целевой рост памяти между циклами GC: большее значение обычно уменьшает частоту сборок ценой памяти. STW-паузы могут влиять на хвост задержек.
Меньший GOGC часто увеличивает работу сборщика, а слишком большой может приблизить процесс к лимиту памяти. При настройке учитывайте также memory limit и реальный профиль аллокаций. STW — остановка выполнения Go-кода на согласованных фазах, а не весь цикл конкурентного GC. Сравнивайте p95/p99, CPU и память на одинаковой нагрузке, а не ориентируйтесь на одну настройку.
Источник: go.dev.