Андрей Паньгин — Искусство Java профилирования

preview_player
Показать описание
Ближайшая конференция — JPoint 2025, 3–4 апреля (Москва + трансляция).
— —
. . . . «Профайлер — ваш лучший друг в поиске узких мест производительности. Для Java существует множество подобных инструментов, но почему же до сих пор не утихают дискуссии о проблемах профилирования?

На реальных примерах из практики я покажу, что недостатки есть у всех инструментов: не спасают даже модные средства вроде perf и honest-profiler. Более того, порой performance-проблемы уходят вглубь JVM или даже ядра операционной системы, и тогда поиск причин становится настоящим испытанием.

Мы обсудим различные подходы к профилированию CPU, аллокаций памяти и блокировок. На примере async-profiler разберём, как аппаратные и программные механизмы помогают в сборе метрик производительности. В завершение рассмотрим, как Одноклассники профилируют в продакшне весь стек от Java-кода до ядра Linux.»
Рекомендации по теме
Комментарии
Автор

Классный доклад, спасибо. Помогает отказаться от visualvm. Хорошо, что async-profiler теперь зашит в idea, не надо поднимать виртуалку с линуксом. И flame graph там же сразу стоится, красота вообще.

Bassmaniaaa
Автор

Молодец, Андрей, системно, с пониманием и на простых примерах раскрыл тему профилирования.
Больше всего негодую по теме классических сэмплирующих профилировщиков (jvisualvm в частности), которые фактически обманывают разработчика и при этом ещё создают большой оверхед. Сам много раз сталкивался с описанными проблемами и в итоге скатывался на необходимость инструментирования всего и вся со всеми вытекающими проблемами. Не красят подобные вещи ораклистов, доверие теряется.

leonidsucharev
Автор

Я всё понял, спасибо, очень познавательно.

grekagrek
Автор

звук тихий, а в остальном круто, спасибо

MrSBFI
Автор

Я нихрена не понял, но спасибо, очень познавательно.

ololondiyololoev
Автор

Зачем оптимизировать код если можно масштабировать ресурсы :)

Vladimir-pzeo