Estoy intentando resolver problemas de rendimiento con una aplicación web grande y compleja de tomcat java. El mayor problema en este momento es que, de vez en cuando, los picos de uso de la memoria y la aplicación deja de responder. He reparado todo lo que puedo solucionar con los perfiles de registro y el análisis bayesiano de los archivos de registro. Estoy considerando ejecutar un generador de perfiles en el servidor de tomcat de producción.Costo de rendimiento de creación de perfiles de una aplicación web en producción
una nota al lector con suaves Sensibilidades:
entiendo que algunos pueden encontrar la misma noción de perfilar una ofensiva aplicación de producción. Tenga la seguridad de que he agotado la mayoría de las otras opciones. La razón por la que estoy considerando esto es porque no tengo los recursos para duplicar por completo nuestra configuración de producción en mi servidor de prueba, y no he podido causar fallas de interés en mi servidor de prueba.
Preguntas:
estoy en busca de respuestas que funcionan bien para una aplicación Java Web que se ejecuta en Tomcat, o responder a esta pregunta de una manera independiente del lenguaje.
- ¿Cuáles son los costos de rendimiento del perfilado?
- ¿Alguna otra razón por la cual es una mala idea conectar y perfilar remotamente una aplicación web en producción (modos de falla extraños, problemas de seguridad, etc.)?
- ¿Cuánto afecta el perfilado a la huella de memoria?
- Específicamente, ¿hay herramientas de creación de perfiles de Java que tengan costos de rendimiento muy bajos?
- ¿Alguna herramienta de creación de perfiles diseñada para perfilar aplicaciones web?
- ¿Alguien tiene puntos de referencia sobre los costos de rendimiento de creación de perfiles con visualVM?
- ¿A qué tamaño de aplicaciones y conjuntos de datos se puede escalar visualVM?
¿Tendría Apache FOP en su Webapp? –
No lo creo, ¿por qué eso causa problemas de memoria? –
FOP renderiza documentos basados en XML a PDF y otros formatos similares. La versión actual en '09 usó memoria proporcional al tamaño del documento durante el procesamiento, causando síntomas como los que describe. –