Я работаю над сайтом Struts на сервере Windows, внедряя новые функции и исправления для JSP, действий, сервлетов, базовых JAR-файлов, в значительной степени большей части. Все шло гладко, пока обновление JAR, которое было успешно протестировано, не привело к тому, что целевая страница замедлилась (10+ секунд для загрузки).
Что озадачивает, так это то, что никакая другая страница не работает, та же страница на моем локальном разработчике сервер не затрагивается, и, что наиболее сбивает с толку, та же страница на тестовом сайте, которая работает на том же экземпляре Tomcat с почти зеркальной конфигурацией, где новые классы и тому подобное были протестированы, а затем введены из, не действует. Этот удар по производительности происходит только на рабочем сайте.
Я просмотрел код, и на этой странице (JSP и связанное с ним действие) ничего не происходит, чего не происходит и на других страницах этого сайта, где нет помедленнее. В журналах не отображаются исключения, и загрузка страницы не оказывает заметного влияния на Performance Monitor. И я полностью перезапустил сервис Tomcat, как целую группу.
Сейчас я склонен профилировать его, чтобы узнать, чего он ждет, но Java VisualVM, похоже, думает, что он не может работать с JRE, поэтому я пытаюсь выяснить, как диагностировать эту проблему. Мой гугл-фу меня пока подводит.
Tl'dr; какие инструменты доступны для диагностики проблем с производительностью на действующих сайтах Tomcat.
Я бы предпочел включить JMX в tomcat и профиле с помощью VisualVM. Вот информация о том, как включить JMX для профиля https://stackoverflow.com/questions/1890431/profile-tomcat-application-with-visualvm
Как правило, вы: d использовать для этого профилировщик. Доступно несколько.
Я лично выбрал бы YourKit Java Profiler , но имейте в виду, что это главным образом потому, что они предоставляют бесплатные лицензии разработчикам с открытым исходным кодом, поэтому я наиболее знаком / удобен .