Вы находитесь на странице: 1из 4

Configuracin de la Mquina Virtual de Java ( JVM )

Para lograr tener una mayor disponibilidad del servicio as como un mayor soporte a la carga de peticiones es
necesario configurar el servidor de aplicaciones Apache Tomcat. Para esto, se agregarn los siguientes parmetros
en el archivo de configuracin $TOMCAT_HOME/bin/setenv.bat en el caso de Windows,
$TOMCAT_HOME/bin/setenv.sh en el caso de Linux si se descomprimi y se levant el servicio manualmente o
en /etc/tomcat6/tomcat6.conf si se instal el servidor mediante el repositorio:
-Xms y -Xmx. Estos valores se usan para definir el tamao de la pila usada por la JVM. -Xms define el valor
inicial y -Xmx define el valor mximo. Es recomendable que el valor inicial y final sea el mismo, lo que
inicializar la pila a su mxima capacidad y as se prevendr la ejecucin de recolecciones de basura completos
mientras la pila se expande.
-XX:PermSize y -XX:MaxPermSize. Estas opciones son usadas para definir el tamao del espacio de generacin
permanente, que se refiere a la localidad donde la JVM guarda los archivos de clase que son cargados en la
memoria. -XX:PermSize define el valor inicial y -XX:MaxPermSize define el valor mximo. Es recomendable
que los valores inicial y final sean el mismo. Una buena definicin de estos valores nos ayudan a evitar el error
java.lang.OutOfMemoryError: PermGen space.

-Xss. Este valor determina el tamao de la pila para cada hilo en la JVM. El valor especfico que se debe usar
depende de los requerimientos de la aplicacin, sin embargo el valor definido por default suele ser demasiado
grande. Para una instalacin tpica este valor puede ser ms bajo, ahorrando memoria e incrementando el nmero
de hilos que se pueden lanzar en el sistema. Si el sistema llegara a arrojar una excepcin del tipo StackOverFlow

este valor tendra que ajustarse a un valor ms alto, tpicamente entre los 128k y 1024k.
-server. Esta opcin le dir a la JVM que est corriendo en un servidor de aplicaciones y que las configuraciones
default cambiarn en consecuencia. Esta opcin se encuentra activa por default en todos los Sistemas Operativos
de 64 bits ya que no existen Mquinas Virtuales cliente de 64 bits.
Windows:
copiar y pegar o modificar el archivo setenv.bat en $TOMCAT_HOME/bin/
Linux (descompresin):
copiar y pegar o modificar el archivo setenv.sh en $TOMCAT_HOME/bin/
Linux (repositorio):
copiar el contenido del archivo tomcat6.conf en /etc/tomcat6/tomcat6.conf

Configuracin del pool de conexiones


maxThread. El pool de conexiones especifica el nmero de peticiones web que el servidor aceptar, as que esta
parte debe ser manejada cuidadosamente para obtener el mejor desempeo. Esto se puede hacer modificando el
valor de este atributo en el conector. Este valor deber estar basado en el volumen del trfico de la aplicacin, ya
que si es demasiado bajo no habr suficientes hilos para manejar todas las peticiones, lo que causar un error del
tipo connection refused. Si se pone un valor demasiado alto a este parmetro el inicio de Tomcat puede tardar
mucho y consumir demasiada memoria. Si no se especifica, el valor default es de 200.
Si el nmero de peticiones excede las 750, en lugar de poner el valor 750 en el atributo maxThread sera mejor
pensar en un "Clster de Servidores" con mltiples instancias de Tomcat, en cuyo caso, si tenemos 1000
peticiones, en lugar de tener un servidor con un valor de maxThread de 1000 tendremos 2 instancias con un valor
de 500 en cada uno, por ejemplo.
El valor exacto puede ser determinado solo mediante las pruebas de la aplicacin en diferentes ambientes.
<Connector port="8080" protocol="HTTP/1.1" maxThreads="512"/>

Cola de peticiones
acceptCount. Cuando el servidor ha asignado todas las conexiones definidas en el pool de conexiones, este
comienza a poner las peticiones entrantes en espera hasta que al menos una quede libre. Este atributo define el
tamao mximo de la cola de peticiones en espera. Cualquier peticin recibida cuando la cola este llena ser
rechazada. El valor por default es 100.
<Connector port="8080" protocol="HTTP/1.1" acceptCount="128"/>

i18n
URIEncoding. Algunas versiones de Tomcat usan el iso-8859-1 para decodificar URLs, lo cual est en clara
violacin de los estndares RFC. Para arreglar este problema, se debe agregar este atributo a la definicin del
conector en el archivo $TOMCAT_HOME/conf/server.xml.
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8"/>

Desactivar la recarga y el auto-desplegado de la aplicacin


web
autoDeploy. Por default, Tomcat monitorea el directorio $TOMCAT_HOME/webapps en espera de nuevas
aplicaciones web, y tan pronto un archivo WAR es copiado ah, es automticamente desplegado. Si bien esta
caracterstica es grandiosa para ambientes de desarrollo, tiene un impacto en el desempeo y debe ser
deshabilitada en produccin. Para desactivar esta opcin, se debe editar el archivo
$TOMCAT_HOME/conf/server.xml y agregar o cambiar el valor del atributo autoDeploy a "false" en el Host
apropiado.
<Host name=localhost appBase=webapps unpackWARs=true autoDeploy=false
xmlValidation=false xmlNamespaceAware=false/>

Desactivar la recarga y el modo de desarrollo de los JSP


development and reloading. Estos 2 atributos controlan el comportamiento de la compilacin de los JSP en
Tomcat. Si no se desea que los JSP sean revisados por alguna modificacin cada vez que hay una peticin se debe
poner el valor del atributo development a false. De igual manera, si no se desea que los JSP se compilen
automticamente despus de un periodo de tiempo, se debe poner el valor del atributo reloading a false. Por
default, estos atributos tienen el valor true y un intervalo de revisin y recarga de 300 segundos. Para desactivar
estas opciones , se debe modificar la definicin del JspServlet en el archivo $TOMCAT_HOME/conf/web.xml.
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>development</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>reloading</param-name>
<param-value>false</param-value>
</init-param>

</servlet>

Activar el pool de Custom Tags


enablePooling. Este atributo especifica si el pool de etiquetas personalizadas est habilitado o no. Si no
se encuentra, su valor default es true. Para activarlo explcitamente, se debe modificar la definicin del
JspServlet en el archivo $TOMCAT_HOME/conf/web.xml.
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>enablePooling</param-name>
<param-value>true</param-value>
</init-param>

</servlet>

Librera Nativa de Tomcat


La Librera Nativa de Tomcat ("Apache Portable Runtime (APR)") proporciona una escalabilidad y desempeo
superior, una mejor integracin con las tecnologas de servidor nativas y un rendimiento ptimo en entornos de
produccin.
Windows:
Descargar la versin actual de la Librera Nativa de Tomcat, copiar el archivo tcnative-1.dll( 32 o 64 bits ) y
pegarlo en la carpeta $TOMCAT_HOME/bin/.
CentOS 6 Linux:
Descargar el repositorio epel acorde a la versin del Sistema Operativo (CentOS 6) desde
http://rpm.pbone.net/index.php3/stat/3/srodzaj/1/search/epel-release e instalar con el comando rpm -Uvh
epel-release*rpm
Ejecutar la instruccin yum install tomcat-native para descargar e instalar la versin actual de la Librera
Nativa de Tomcat desde los repositorios de epel.

Вам также может понравиться