Я пытаюсь решить проблемы с производительностью с помощью большого и сложного веб-приложения tomcat java. Самая большая проблема на данный момент заключается в том, что время от времени всплеск использования памяти и приложение становятся невосприимчивыми. Я исправил все, что я могу исправить, с помощью профилей логов и байесовского анализа файлов журнала. Я рассматриваю возможность запуска профилировщика на сервере Tomcat.
Примечание для читателя с мягкой чувствительностью:
Я понимаю, что некоторые могут найти само понятие профилирования наступательного приложения на производство. Пожалуйста, будьте уверены, что я исчерпал большинство других вариантов. Причина, по которой я рассматриваю это, заключается в том, что у меня нет ресурсов, чтобы полностью дублировать нашу производственную настройку на моем тестовом сервере, и я не смог вызвать сбои в интересе на моем тестовом сервере.
Вопросы:
Я ищу ответы, которые работают либо для веб-приложения java, работающего на tomcat, либо для ответа на этот вопрос агностическим языком.
- Каковы затраты на профилирование?
- Любые другие причины, по которым плохой идеей является дистанционное подключение и профилирование веб-приложения на производстве (странные режимы отказа, проблемы с безопасностью и т.д.)?
- Сколько будет выполняться профилирование печати в памяти?
- В частности, есть ли инструменты профилирования java, которые имеют очень низкие эксплуатационные расходы?
- Любые инструменты профилирования java, предназначенные для профилирования веб-приложений?
- Есть ли у кого-то тесты производительности для профилирования с помощью visualVM?
- В каких размерах приложения и наборы данных можно визуализировать масштаб VM?