Как использовать pprof для просмотра использования памяти веб-сервером после HTTP-запросов - PullRequest
1 голос
/ 14 апреля 2020

В документации для net / http / pprof объясняется, как создать 30-секундный сеанс профилирования ЦП и проанализировать результат.

Это позволяет мне инициировать один или несколько HTTP-запросов и увидеть итоговое использование ЦП: мое веб-приложение.

Я вижу маршрут для создания профиля кучи, но, поскольку профилирование не происходит в чем-то вроде 30-секундного окна, я концептуально не уверен, как это взаимодействует с моим веб-приложением.

Как я могу "координировать" профилировщик кучи, чтобы он соответствовал одному или нескольким HTTP-запросам?

1 Ответ

3 голосов
/ 14 апреля 2020

Я не думаю, что вы можете настроить профилировщик именно на запрос, но общая методология - это брать несколько преднамеренно синхронизированных профилей кучи. Например:

  • Возьмите один профиль вашего приложения в пустом состоянии, чтобы установить базовый уровень
  • Возьмите профиль (или несколько профилей), пока приложение загружается с запросом ( или несколько запросов)
  • Создайте профиль впоследствии

Мощная часть профилей кучи состоит в том, что pprof позволяет вам "дифференцировать" профиль, указав 2 профиля! базовый профиль и вторичный профиль для сравнения базы с!

С его помощью становится легко увидеть разницу в выделенных объектах или общем количестве байтов.

...