Андрей Паньгин - Искусство Java профилирования
HTML-код
- Опубликовано: 25 авг 2024
- Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
Подробности и билеты: jrg.su/Ypf1HW
- -
. . . . «Профайлер - ваш лучший друг в поиске узких мест производительности. Для Java существует множество подобных инструментов, но почему же до сих пор не утихают дискуссии о проблемах профилирования?
На реальных примерах из практики я покажу, что недостатки есть у всех инструментов: не спасают даже модные средства вроде perf и honest-profiler. Более того, порой performance-проблемы уходят вглубь JVM или даже ядра операционной системы, и тогда поиск причин становится настоящим испытанием.
Мы обсудим различные подходы к профилированию CPU, аллокаций памяти и блокировок. На примере async-profiler разберём, как аппаратные и программные механизмы помогают в сборе метрик производительности. В завершение рассмотрим, как Одноклассники профилируют в продакшне весь стек от Java-кода до ядра Linux.»
Шикарно
Классный доклад, спасибо. Помогает отказаться от visualvm. Хорошо, что async-profiler теперь зашит в idea, не надо поднимать виртуалку с линуксом. И flame graph там же сразу стоится, красота вообще.
А где сказано, что async-profiler зашит в idea?
звук тихий, а в остальном круто, спасибо
Зачем оптимизировать код если можно масштабировать ресурсы :)
Молодец, Андрей, системно, с пониманием и на простых примерах раскрыл тему профилирования.
Больше всего негодую по теме классических сэмплирующих профилировщиков (jvisualvm в частности), которые фактически обманывают разработчика и при этом ещё создают большой оверхед. Сам много раз сталкивался с описанными проблемами и в итоге скатывался на необходимость инструментирования всего и вся со всеми вытекающими проблемами. Не красят подобные вещи ораклистов, доверие теряется.
Я всё понял, спасибо, очень познавательно.
Я нихрена не понял, но спасибо, очень познавательно.
ещё бы слайдов...