Как профилировать, когда perf видит не всё?

Хардкор

#Оптимизация производительности
#Профилирование

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Целевая аудитория

Люди, озабоченные performance-тестированием сложных платформ, на которых не хватает стандартного инструментария. По сути, это любая платформа со встроенным интерпретатором (py, lua, js): mongo, nginx, etc.

Тезисы

Платформы, опирающиеся на встроенный интерпретатор, сложно профилировать. Чаще всего, возможен только отдельный анализ производительности внутри VM, с помощью специфичного для нее профилировщика, и снаружи VM, с помощью, например, perf. Тем не менее, в некоторых сценариях необходимо видеть полную картину.

Доклад описывает несколько возможных подходов к профилированию таких систем -- от способов интеграции с perf, до написания своего инструментария.

Занимаюсь поддержкой LuaJIT в Tarantool и разработкой инструментария для него. Интересуюсь компиляторными технологиями и распределенными системами.

Tarantool

Tarantool — это платформа in-memory вычислений с гибкой схемой данных для эффективного создания высоконагруженных приложений. Включает в себя базу данных и сервер приложений на Lua.

Видео