Pull to refresh

Comments 19

Ещё раз хочу вас по благодарить за участие в мастер классе. Для мне было очень приятно увидеть такой интерес к теме с вашей стороны.


Как и обещал раскрываю секрет последнего кейса с мастер класса.


Вы могли заметить что в параметрах запуска JVM был параметер -Dlogback.level.org.optaplanner=debug. Логи пишутся в файл target/optaplanner.log. Вы легко можете убедиться, что один запуск бенчмарка создаёт около 50 мегабайт лога (в консоль при этом печатаются сообщения с уровнем INFO и выше).


При изменении параметра на -Dlogback.level.org.optaplanner=info время оптимизации модели на моей машине сократилось с 35.7 до 9.3 секунд.


Mission Control не лучший инструмент для анализа подобного рода узких мест. Тем не менее, некоторые улики найти было можно.


“Длинный след” логгера на гистограмме горячих методов


На гистограмме ниже выделено несколько горячих. Каждая из них если раскрутить дерево вывода имеет отношение к легированию. В сумме выделенные строки уже дают 13.5%, что сопоставимо в временем работы наиболее горячих методов модели.
image


Активное использование исключений логгером
Во вкладке исключений мы видим не малое число java.lang.Throwable, которые растут из логгера.
image


Файловые операции на таймлайне потока
Если посмотреть на таймлайн поток выполняющего оптимизацию, но плотно заполнен записью в файл. Заметьте что скриншот сделан с зумом в 650 миллисекунд.
image


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


Все эти "улики" косвенные. Mission Control хорош тогда когда вы хорошо понимаете природу проблемы, которую вы хотите решить.


Почему же я выбрал этот кейс для мастер класса? Отчасти чтобы у вас был стимул испробовать все возможности Mission Control, a остановиться на первом скрине показавшем правильный результат. Отчасти чтобы показать как используя профйлер можно потерять лес за деревьями.

Слайды, которые я использовал по ходу мастер класса доступны тут.

Алексей, спасибо большое за интереснейший мастер-класс! Можно ещё привести точные даты проведения упомянутого учебного курса по профилированию.

Я набираю группу для двух дневного тренинга 21-22 Мая (программа). По вопросам участия пишите в личку или на почту.

хочешь, мы по нашим каналам анонсируем?
Полезная и востребованная тема курсов, порекомендую коллегам! Жаль я уеду в это время в командировку и на Spring I/O. Планируешь ли осенью этот же тренинг?
Косяк с кирилическим шрифтом под macOs. Исправил.
Я один заметил, что на титульном слайде не весь экран опечатка — hitchKiker вместо hitchhiker? Если да, то мне приз!
Предполагаю, игра слов: «Hitchkicker» (на слайде) = «Hitchhiker» (автостоп) + «kicker» (много вариантов)

Вопрос автору, то есть aragozin
Никакой интриги нет, просто моя безграмотность.

Спасибо за анонс! Вопрос — почему в вашем плейлисте на Youtube такие неиформативные названия видео?


Скрин

image

Затрудняюсь ответить, AKogun47 показалось удобнее именовать «jug.msk.ru — DD/MM/YYYY — Part N».

Можете предложить Андрею, как было бы удобнее, например, по аналогии с видео JUG.ru:
  • доклады «Встреча jug.msk.ru с <имя фамилия> — <наименование доклада>» или «<имя фамилия> — <наименование доклада>»
  • плейлисты «jug.msk.ru-YYYY»

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

Тогда, наверное, лучше
  • доклады «<имя фамилия> — <наименование доклада>»
  • плейлисты «jug.msk.ru-YYYY»
Вообще, записи первоначально публиковались в ВК и там именно такой формат именования. Попробовал для текущей тоже поменять, раз есть запрос — так ок?

Видео со встречи — youtu.be/ypLoO49TLjI
Может, лучше так: «Алексей Рагозин — Мастер-класс по Java Mission Control — Встреча jug.msk.ru — 13/03/2018»?

То есть заменить дефис на тире и с большой буквы после каждого тире?

И ещё плейлисты «jug.msk.ru-YYYY» с разбивкой по годам («jug.msk.ru-2013», «jug.msk.ru-2014»,… «jug.msk.ru-2018»).

Не думал сменить фамилию?
Я первый раз подумал про космос статья

Sign up to leave a comment.