Как приблизиться к тестированию производительности большого Java-приложения с JMX? - PullRequest
1 голос
/ 26 марта 2012

Я собираюсь оценить производительность большого Java-приложения. Каков наилучший подход к этому?

Это приложение на основе POJO, которое состоит из интерактивной части с пользовательским интерфейсом и уровнем WebService, но большая часть тяжелой бизнес-логики заключается в длительных пакетных процессах, реализованных с помощью Spring Batch. Приложение развертывается на сервере приложений JBoss и сохраняет данные в базе данных Oracle.

То, что я ищу, это не только производительность пакетного процесса или количество одновременных запросов, обрабатываемых онлайн-уровнем. Я также хочу получить больше информации и собрать некоторые внутренние метрики для таких вещей, как этапы пакетной работы, JDBC и т. Д. Кроме того, я собираюсь сопоставить метрики с общесистемными метриками, которые я могу получить из JVM, ОС, сервера приложений, базы данных .

В идеале я бы хотел сделать это без изменений кода, если это возможно.

Моя идея реализовать такого рода мониторинг производительности заключается в том, чтобы опираться на JMX и предоставить центральный компонент, который может собирать метрики из различных MBean-компонентов и коррелировать их. Кажется, что каждый основной компонент, который я хочу измерить, поддерживает JMX:

  • Сервер приложений JBoss обладает широкими возможностями JMX
  • Spring Batch может быть с поддержкой JMX с расширением Spring Batch Admin
  • JVM в порядке для всех его внутренних органов, доступных через JMX
  • Oracle с DMS MEtrics также дает хорошее представление о производительности канала JDBC

Мне было интересно, есть ли какие-нибудь хорошие фреймворки / инструменты с открытым исходным кодом, которые могли бы помочь мне в сборе, сопоставлении и визуализации метрик, как описано выше. Заранее спасибо за ваши рекомендации.

P.S. Я сделал свою домашнюю работу и просмотрел сцену с открытым исходным кодом, но не хочу указывать здесь какие-либо конкретные имена, чтобы избежать необъективных ответов.

...