Профилирование приложений Python в реальном времени

  • Дмитрий Жильцов
    Дмитрий Жильцов Lamoda

    Я в разработке уже 8 лет, прошел тернистый путь от патчеписательства на Assembler под мобильные платформы DB2010/2020 до руководителя группы разработки Python. 5 лет занимаюсь созданием Web-приложений и всего, что с ними связанно, и хочу поделится опытом в профилировании приложений в реальном времени. В докладе я не буду говорить об инструментах профилирования кода (о таких как hotshot или cProfile), а расскажу как замерять производительность отдельных участков приложения в реальном времени и увидеть в каких местах необходимо оптимизировать процесс.

    Я уверен, что разработчику всегда хочется видеть реальную картину производительности не только отдельных сервисов, но и отдельных частей и кусков кода этих систем, особенно в условиях динамичной разработки высоконагруженных сервисов. Здесь не обойтись только одной классической системой мониторинга.
    Для выявления проблемных программных модулей проекта и замера их производительности необходим профайлинг приложений в реальном времени. И тут возникает куча вопросов и нюансов, я расскажу подробнее про:
    - Для чего в принципе необходим профайлинг в реальном времени.
    - Как реализовать свой профайлинг Python приложения, не привязываясь к коду проекта и вендорным решениям?
    - Какие метрики необходимо снимать, что бы они имели ценность?
    - Как визуализировать снятые метрики?
    - Какую ценность предоставляет профайлинг бизнес заказчикам?

Видео




Слайды

Открыта регистрация на Moscow Python Conf 2017