2016-10-26 3 views
1

(относительно) новый встроенный монитор/профилировщик производительности для Java - Mission Control. Oracle docs advertise, что они могут быть использованы в производстве, не подвергаясь хитов производительности (менее 2%):Достаточно ли Java Control и Flight Recorder предоставить вам такую ​​же функциональность, как VisualVM?

инструмент цепи [Mission Control + Flight Recorder] позволяет разработчикам и администраторам собирать и анализировать данные из Java-приложений, работающих на местном уровне или развертывается в производственных средах.

Я использовал jvisualvm (VisualVM) в течение многих лет, но никогда в производственной среде из-за предполагаемого предостережением, что делает накладные расходы на производительность ПОНЕСТИ.

Итак, я спрашиваю: Что отличает диспетчерский контроль (и его Flight Recorder) от VisualVM, что позволяет MC/FR не мешать производительности? Или они не включают в себя некоторые функции/возможности, которые предоставляет VisualVM?

ответ

1

Основная разница в производительности в профилировании метода заключается в том, что MC/JFR использует выборку и производит только несколько потоков на выборку. Он использует аналогичный подход к AsyncGetCallTrace (см., Например, http://psy-lob-saw.blogspot.com/2016/06/the-pros-and-cons-of-agct.html)

Поскольку я работаю с MC/JFR, я не так хорошо знаком с тем, как VisualVM выполняет профилирование выборки, но я считаю, что он не использует тот же метод.

MC/JFR имеет механизм сбора данных, глубоко интегрированный в JVM HotSpot, VisualVM использует внешние API/MXBeans. Это также помогает JFR снизить накладные расходы. Как правило, JFR предназначен для поиска горячих точек, а не для сбора данных, которые на 100% правильны, но могут замедлить ваше приложение и повлиять на фактическое поведение. Это касается как метода, так и выборки выборки, а также другой информации о событиях ожидания (wait/sleep/block), где записываются только события выше определенного порога. Я менее знаком с тем, как это сравнивается для VisualVM.

Кроме этого, два инструмента имеют разные наборы функций, ни одна из которых не является надмножеством другого.

Смежные вопросы