Операция выполнена!
Закрыть
Хабы: Go, Open source, Программирование

Сборщик мусора в Go обычно воспринимается как что-то, что просто работает. И это, в общем, хорошо: большую часть времени о нём действительно не хочется думать.

Ровно до того момента, когда под нагрузкой сервис начинает тормозить, растут задержки и потребление памяти. В такой момент проверяешь всё подряд: CPU, метрики, сеть, pprof. И среди всего этого про сборщик мусора обычно даже не вспоминают - хотя он вполне может быть причиной просадок производительности.

В Go есть встроенные инструменты, чтобы заглянуть в его работу. Проблема в том, что в реальном запуске это быстро превращается в поток строк и чисел, из которого крайне сложно понять общую картину: стал ли GC вызываться чаще, появились ли долгие паузы, растёт ли потребление памяти.

Я написал gcscope — терминальный визуализатор сборщика мусора для Go. Он показывает, как ведёт себя GC в реальном времени: насколько часто он запускается, как меняется потребление памяти, есть ли моменты, когда паузы становятся заметно длиннее обычного. Работает с любым Go-приложением без правок в коде, и вы сразу видите наглядные графики вместо потока логов. А ещё можно сравнивать поведение своего сервиса до и после изменений.

Читать далее
Читайте также
НОВОСТИ

ПИШИТЕ

Техническая поддержка проекта ВсеТут

info@vsetut.pro