Основные инструменты профилирования в Go

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 มิ.ย. 2024
  • Мини практикум по бенчмаркам и профилированию в Golang.
    Я рассказываю об основных инструментах (benchmark, benchstat, pprof, go tool), о том как запускать сбор данных, и как интерпретировать результат.
    Ссылка на репозиторий: github.com/PakshNina/profiling
    1:29 - Инструменты
    1:55 - Бенчмарки
    5:27 - Сравнение бенчмарков
    9:40 - Выгрузка профиля ЦПУ и Памяти из бенчмарков
    11:34 - Работа с pprof через консоль
    14:55 - Запись профиля в файл
    16:53 - Использование веб-интерфейса
    21:35 - Тэги
    23:58 - Сравнивание двух профилей ЦПУ
    26:08 - На что обращать внимание
    26:51 - Flame Graph
    28:16 - Запуск в проде
    29:10 - Типы профилирования
    30:05 - Веб-сервер профайлинга
    31:27 - Сбор информации с сервера
    33:22 - Анализ кучи в реальном времени
    33:31 - Анализ блокировок

ความคิดเห็น • 7

  • @markshevchenko
    @markshevchenko 7 วันที่ผ่านมา

    Глубоко и познавательно. Нина потратила много сил и времени на подготовку.

  • @Hanke1exe
    @Hanke1exe 7 วันที่ผ่านมา

    О, класс! Как раз искал доклад по этой теме. Спасибо

  • @user-rj5kt3ft8w
    @user-rj5kt3ft8w 6 วันที่ผ่านมา

    спасибо. было бы интересно послушать про оптимизации, уменьшению аллокаций

    • @PakshinaNina
      @PakshinaNina  6 วันที่ผ่านมา +1

      Добрый день, про escape analysis и аллокации есть немного в докладе про сборщик мусора, посмотрите по таймкодам.

  • @tatyana_nero
    @tatyana_nero 7 วันที่ผ่านมา

    Привет, спасибо за доклад! Подскажи, как влияет на прод профилирование в режиме онлайн? Может ли он дать серьезную нагрузку? Это безопасно для прода?

    • @PakshinaNina
      @PakshinaNina  7 วันที่ผ่านมา +1

      Да, разработчики утверждают, что pprof использует дополнительную нагрузку в 5% для профилирования ЦП и кучи. Поэтому pprof безопасно использовать в продакшене с точки зрения потребления ресурсов. С точки зрения безопасности другой вопрос: у вас в продакшене будет запущен еще один экземпляр сервера какой-то «левой» библиотеки, и это уже нужно обсуждать с вашей службой безопасности (а с ними всегда непросто :))

    • @tatyana_nero
      @tatyana_nero 6 วันที่ผ่านมา

      @@PakshinaNina спасибо за ответ!