Назад | Перейти на главную страницу

Какие показатели производительности отслеживать на JVM?

Я хочу провести мониторинг производительности наших JVM.

Что было бы интересно отслеживать, кроме очевидных вещей, которые у меня уже есть в моем списке?

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

Также может быть полезно увидеть, как показатели потоков коррелируют с показателями ЦП и памяти. Например, если вы часто видите полные сборщики мусора, было бы полезно знать, что один из потоков работает намного дольше, чем вы обычно ожидаете. Он может застрять в бесконечном цикле и съесть кучу.

Вот несколько идей:

http://www.informit.com/guides/content.aspx?g=java&seqNum=250

Ваш список охватывает самое главное. Некоторые дополнительные вещи:

  • Использование ЦП JVM
  • Вы также можете посмотреть Расширения управления Java (JMX) для отслеживания того, что делает JVM. JMX позволяет вам как запрашивать JVM для таких вещей, как свободная память или детали GC, так и получать информацию из приложения, работающего на виртуальной машине, если приложение поддерживает JMX (например, большинство серверов приложений поддерживают). Таким образом, вы можете запрашивать критические записи журнала, сбои БД, количество транзакций в секунду и т. Д.