Выбор ответа Middle Память, GC и pprof обновлено
Подключение pprof в сервисе
Вопрос
Что делает import _ "net/http/pprof"?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Регистрирует /debug/pprof/ на http.DefaultServeMux. Пакет в init регистрирует хендлеры на дефолтном мультиплексоре.
Варианты ответа
- Запускает отдельный сервер профилирования на порту 6060
- Включает CPU-профилирование всего процесса с момента старта
- Регистрирует
/debug/pprof/наhttp.DefaultServeMuxправильный ответ - Пишет профили в файл cpu.pprof при выходе из программы
Разбор
Пакет в init регистрирует хендлеры на дефолтном мультиплексоре. Отдельный сервер вы запускаете сами (go http.ListenAndServe("localhost:6060", nil)), а если основной сервер работает на DefaultServeMux, эндпоинты окажутся снаружи, что опасно. Профилирование CPU включается только на время запроса /debug/pprof/profile?seconds=N. Файлы при выходе не пишутся.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Память, GC и pprof»
- Пул объектов как sync.Pool: симуляция на Go
- Статистика потока чисел без хранения на Go
- Escape analysis: что попадёт в кучу
- Как работает сборщик мусора Go
- Какой сборщик мусора в Go
- Как посмотреть решения escape analysis
- Что значит GOGC=100
- GOMEMLIMIT в контейнере