Configuración de Tomcat en producción

1,108 views
Skip to first unread message

Roberto González

unread,
Aug 22, 2012, 5:32:29 AM8/22/12
to grailsenc...@googlegroups.com
Buenas a todos!

Estoy tratando de configurar mi entorno de producción para mis aplicaciones Grails, y despues de dar bastante vueltas, a ver si me podeis echar una mano.

Mi entorno de producción es una máquina con Ubuntu Server, 2 GB de Ram, JDK 7.0.5 y Tomcat 7 recién salido del paquete.

En este Tomcat despliego mis dos aplicaciones hechas en Grails 2.1.0. Son aplicaciones medianas, con unos cuantos plugins (spring-security-core y spring-security-ldap entre otros), y al tratar de arrancar, falla por el típico problema de falta de memoria falta de memoria: java.lang.OutOfMemoryError: PermGen space

Después de revisar unos cuantos foros y hacer varias pruebas, añado estas dos líneas al /tomcat/bin/catalina.sh:

CATALINA_OPTS="$CATALINA_OPTS -Xms512M -Xmx1024M"
JAVA_OPTS="$JAVA_OPTS -XX:PermSize=128m -XX:MaxPermSize=256m"


Ahora ya parece que arranca todo (el servidor aún tarda 180s en arrancar lo que me parece muchísimo).

El caso es que no tengo muy claro que esta sea la configuración más correcta. Me parece una barbaridad tener que asignar tanta memoria al PermGen space, y aún tengo miedo de que cuando la aplicación tenga carga me vuelva a fallar (con la mitad de memoria la aplicación arrancaba pero fallaba con el uso).

¿Cómo teneis configurados los Tomcat de producción? ¿Algún consejo?

Un saudo!
Roberto González

Domingo Suárez Torres

unread,
Aug 22, 2012, 8:33:15 AM8/22/12
to grailsenc...@googlegroups.com
Hola,

La version de Tomcat es la 7.0.29? A partir de esa version (o sol esa version, no se exactamente) escáner automáticamente todas las librerías (jar) en búsqueda de servlets, hay una manera de prevenirlo y es usando el siguiente archivo Catalina.properties en el directorio conf

Nos avisas si eso te funciona

Cheers
--
Domingo
Sent from my DynaTAC 8000X
--
Has recibido este mensaje porque estás suscrito al grupo "grailsEnCastellano" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a grailsenc...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a grailsencastell...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/grailsencastellano?hl=es.

Roberto González

unread,
Aug 22, 2012, 8:50:57 AM8/22/12
to grailsenc...@googlegroups.com
Si, uso el Tomcat 7.0.29. Acabo de probar este parche y el tiempo de arranque del tomcat pasó de 180s a 99s.

Aún sigue siendo bastante, pero la mejoría es clara.

Gracias por la ayuda!
Roberto González


2012/8/22 Domingo Suárez Torres <domingo...@gmail.com>

Domingo Suárez Torres

unread,
Aug 22, 2012, 9:09:39 AM8/22/12
to grailsenc...@googlegroups.com
Es posible que tengas que agregar mas jars a la configuración, verifica cuales de tu app usa faltan en el archivo


Cheers
--
Domingo
Sent from my DynaTAC 8000X

Facundo D

unread,
Aug 23, 2012, 11:54:26 AM8/23/12
to grailsenc...@googlegroups.com
A nosotros nos pasó algo muy parecido... Pero aún peor, no importaba cuanta memoria le estábamos pasando, siempre terminaba dando un error de memoria en los lugares más inesperados.

Definitivamente esa "feature" no debería ser activada de manera predeterminada para cualquier WAR... Menos los de Grails que suelen tener demasiadas librerías dependientes.

Gracias fueron de excelente ayuda... y justo dieron en la tecla :)
Reply all
Reply to author
Forward
0 new messages