Эффективное профилирование Java приложений

Данный курс ставит перед собой следующие задачи: - предоставить аудитории методику эффективного применения инструментов профилирования в контексте решения практических задач; - продемонстрировать работу с бесплатными профайлерами, идущими в комплекте с JDK Visual VM, Java Flight Recorder и другими инструментами; - закрепить знания практической работой со специально подготовленными примерами проблемного кода. Курс включает лекционные блоки и практические упражнения, которые чередуются по мере изложения материала.

ИТ и интернет 18+

Ценность курса

На практике, задачи требующие применения профайлера встречаются не часто. По этой причине у разработчиков обычно нет возможности научиться эффективно владеть этим инструментом на собственном опыте.

С другой стороны, эффективное использование профайлера в критической ситуации может драматически сократить время решения проблемы (от недель и месяцев до считанных дней).

Данный учебный курс даёт разработчику ключевые знания и навыки для эффективного применения профайлера в своей работе.

Курс так же может быть полезен для специалистов в области больших данных (Big Data).

Предполагаемая аудитория

Разработчики / архитекторы Java (всех уровней подготовки), Big Data инженеры, SRE (Site Reliability Engineer).

Список ПО для практической части

Для работы с упражнениями участникам курса необходим компьютер.

Следующее ПО должно быть установлено у участников тренинга.

  • комплект разработки Java (JDK) от Oracle — версия не ниже 8u144
  • Apache Maven — версия не ниже 3.0.5
  • git клиент
  • любая интегрированная среда разработки Java

Может быть использована любая операционная система.

О тренере

Алексей Рагозин — автор курса и тренер, имеет более 10 лет опыта в области разработки высоко нагруженных распределенных систем в различных индустриях. Алексей активный докладчик на российских и зарубежных конференциях в области ПО и контрибьютор в OpenSource.


 

План учебного курса

Курс организован в виде 8 академических пар (90 минут):

Секция 1

Введение. Подход к анализу проблемы сверху вниз. Классификация типовых проблем и дерево принятия решений. Базовая диагностика проблемного приложения с использованием инструментов JDK.

Секция 2

Поиск "горячего кода" методом сэмплирования дампов потоков. Работа с VisualVM. Визуализация результатов сэмплирования: дерево вызовов, инвертированное дерево вызовов, flame graph.

Секция 3

Сброка мусора и его влияние на производительность. Анализ логов сборки мусора. События сборки мусора в Mission Control / Java Flight Recorder. Критерии нормальной работы сборщика мусора.

Секция 4

Анализ содержимого памяти JVM. Использование гистограмм классов для анализа статической и динамической нагрузки на память. Получение дампа памяти JVM и работа с ним. Использование языка запрос OQL для анализа дампов.

Секция 5

Углублённая работа с Java Flight Recorder. Семплирование аллокаций памяти и другие возможности инструмента.

Секция 6

Закрепление темы сэмплирования дампов потоков. Демонстрация смещения оценки характерной для сэмплирования.

Секция 7

Использование трассировки при поиске узких мест. Трассировка с использование Visual VM. Трассировка с помощью BTrace. Анализ проблем многопоточности. Демонстрация различных вариантов межпоточных блокировок (deadlocks) и методы их обнаружения.

Секция 8

Заключительная лекция. Особенности коммуникации промежуточных результатов анализа для нетехнической аудитории. Комбинирование профилирования и других способов исследования.

Поделиться:

1649 дней назад
23 октября 9:00 — 24 октября 2019 19:00

Санкт-Петербург
Санкт-Петербург, 9-я линия Васильевского острова, д. 34, БЦ Магнус, офис 303. Для входа Вам потребуется документ, удостоверяющий личность, и получить пропуск на ресепшене на 1 этаже.
Показать на карте

Уже есть билет
Восстановить или вернуть

Поделиться:

Связь с организатором

Напоминаем, что для того чтобы восстановить билет или сделать возврат организатору можно не писать.

На этот адрес придёт ответ от организатора.

Подпишитесь на рассылку организатора

Восстановление билета

Введите адрес электронной почты, указанный при регистрации на событие

Обращаем внимание на то, что билеты должны были прийти к вам на почту сразу после покупки.

Возврат билета

Если вы хотите вернуть билеты, вы можете сделать это по ссылке из письма с билетами или оформить запрос организатору в вашем  личном кабинете.

Подробнее о возврате билетов