2010-07-23 8 views
7

hemos estado luchando aquí en el trabajo por la sugerencia de alguien de que debemos disminuir el tamaño de nuestro archivo de guerra, específicamente el tamaño de directorio WEB-INF/lib, para mejorar nuestro rendimiento de la instancia de producción de JBoss. Algo de lo que aún sospecho.¿El tamaño de un archivo war afecta de algún modo al rendimiento de la aplicación y/o del servidor de aplicaciones?

Tenemos alrededor de 15 aplicaciones web implementadas en nuestro servidor de aplicaciones, cada una de aproximadamente 15 a 20 MB de tamaño.

Sé que hay muchas variables involucradas en esto, pero ¿alguno de ustedes realmente ha lidiado con esta situación? ¿El tamaño de los archivos .war en realidad tiene un impacto significativo en los contenedores web en general?

¿Qué consejo puede ofrecer?

Gracias U.

Respuesta

9

Hay muchas cosas a sospechar de aquí:

  • ¿Qué hay de la aplicación no está funcionando según el nivel que le gustaría?
  • ¿Ha medido la aplicación para averiguar qué componentes están causando la falta de rendimiento?
  • ¿Cuáles son los cuellos de botella en la aplicación/sistema?

El tamaño de la aplicación solo no tiene nada que ver con ningún tipo de rendimiento en tiempo de ejecución. La cantidad de clases cargadas durante la vida útil de la aplicación tiene un impacto en el uso de la memoria de la aplicación, pero es increíblemente insignificante.

Cuando se trata de "problemas de rendimiento", la solución siempre sigue los mismos pasos generales:

  • ¿Qué significa cuando decimos "mal desempeño"?
  • ¿Qué no está funcionando específicamente? Mida, mida, mida.
  • ¿Podemos mejorar el componente específico que no funciona al nivel que queremos?
  • Si es así, implemente las ideas, mida nuevamente para descubrir si el rendimiento realmente ha mejorado.
+0

Así es, no hay un problema de rendimiento real, solo alguien sugiere una posible degradación en el rendimiento debido al tamaño de los archivos .war. –

+2

¿Una posible degradación en comparación con qué, en comparación con una guerra más pequeña? Si es así, esto sería muy fácil de probar: compara la aplicación original con una más delgada. ¿Pero está incluyendo jar en WEB-INF/lib que no necesita? Si no, entonces ya es tan delgado como puede ser. Esto suena como una sugerencia sin hechos para respaldarlo. –

1

Necesita que nos diga el sistema operativo. ¿Tienes protección antivirus en vivo?

Un archivo war/jar es en realidad un archivo zip, es decir, si renombró .war a .zip, puede usar una utilidad zip para verlo/descomprimirlo.

Durante la implementación, el archivo de guerra se descomprime una vez en una carpeta designada. Si tiene protección en vivo, la utilidad antivirus puede tomar algún tiempo para escanear la nueva rama de directorios creada y ralentizar cualquier acceso a ellos.

Muchos marcos de aplicaciones web, como JSP, crean archivos temporales y su protección en vivo entraría en acción para escanearlos.

Si esta es su situación, debe decidir si desea excluir su aplicación web del antivirus en vivo.

¿Está ejecutando Linux pero se accede a su directorio web utilizando ntfs-3g? Si es así, compruebe si el directorio ntfs está comprimido.ntfs-3g tiene problemas para acceder a los archivos ntfs comprimidos, especialmente cuando se manipulan/crean/descomprimen varios archivos simultáneamente. En primer lugar, a menos que existan algunas razones extremadamente válidas (que no puedo ver), un directorio de aplicación web debe ser una partición local en un formato nativo de Linux.

Utilice wireshark para controlar la actividad de la red. Averigüe si las aplicaciones web están causando accesos a los sistemas de archivos remotos. Vea si hay demasiadas retransmisiones siempre que las aplicaciones web estén activas. Retransmisiones o solicitudes de retransmisiones excesivas significa que la red de tuberías tiene problemas de integridad. Todavía estoy tratando de entender este problema yo mismo: algunas tarjetas de red tienen problemas de almacenamiento en búfer (como desbordamiento de búfer) que operan en Linux pero no en Windows.

Wireshark no es difícil de usar, siempre y cuando tenga una comprensión de las direcciones IP, y es posible que desee escribir scripts awk, perl o python para analizar el tráfico. Personalmente, usaría SAS.

+4

Si está ejecutando jboss en un servidor de Windows con análisis de virus, tiene problemas mucho peores que el tamaño del archivo war ... – bwawok

Cuestiones relacionadas