viernes, 28 de diciembre de 2012

apache tomcat con APR (Apache Portable Runtime) subir rendimiento de tomcat

Hola a todos los que han llegado a mi blog!

Sí están en este enlace es porque probablemente necesitan una forma de configurar el APR para tomcat, la verdad en el sitio de apache no es tan claro, pero para es este apunte rápido.
Un compañero me hizo la observación acerca que es lo que hace APR. APR es una librería nativa de tomcat que ayuda a incrementar o subir o optimizar el rendimiento que proporciona el servidor de aplicaciones tomcat. en realidad sí se nota una reducción en la carga del servidor, es mas tolerante en cuanto a los fallos presentados y por otro lado, también tolera mas errores.

1. Descargar el tomcat 7 en cualquiera de sus versiones de aca. (usar el comando wget url.descarga)
2. Luego con el comando yum se deben instalar las librerias así:

yum install -y apr-devel openssl-devel apr.x86_64 apr-util.x86_64 apr-util-devel.x86_64
3. Descargar la libreria nativa con:
wget http://apache.mesi.com.ar//tomcat/tomcat-connectors/native/1.1.24/source/tomcat-native-1.1.24-src.tar.gz

Con lo anterior se tiene mas de la mitad del trabajo. Ahora se deben descomprimir los 2 archivos descargados así:

4. tar -zxvf apache-tomcat-VERSION-DESCARGADA.tar.gz

5. tar -zxvf tomcat-native-1.1.24-src.tar.gz

6. Iniciar tomcat ingresando a la carpeta bin así: cd apache-tomcat-VERSION-DESCARGADA/bin
y ejecutar  ./startup.sh &

7. Verificar el log de tomcat "ubicado en: apache-tomcat-VERSION-DESCARGADA/log/catalina.FECHA-INICIO-TOMCAT.log" y ver que la librería APR no fue cargada buscando la siguiente línea "INFO: La biblioteca nativa de Apache Tomcat basada en ARP que permite un rendimiento óptimo en entornos de desarrollo no ha sido hallada en java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib" o  si el idioma es ingles debe decir algo similar en el idioma configurado.

8. ahora si verificando que no está la librería o que la version es errada, entonces se ingresa a la carpeta de la llibrería así:
cd tomcat-native-1.1.24-src/jni/native/

9. Se ejecuta el comando para compilación e instalación "se debe recordar que se usa la opción  --with-apr=/usr/local/apr porque en ese lugar reposan las librerías de APR que se instalaron con YUM, pero si estan localizadas en otro sitio se debe colocar dicha ruta.":

./configure --with-apr=/usr/local/apr && make && sudo make install

al final sale una información que dice algo similar a:
Libraries have been installed in:
   /usr/local/apr/lib

"entonces las librerías están instaladas en ese lugar"
10. Listo!, ahora solo se deben crear los enlaces simbólicos a las librerías, es de anotar que las librerías están ubicadas en /usr/locar/apr/lib como aparece en el ítem anterior, ahora se usa el comando ln así:
ln -s destino origen "a todas las librerías que estén en el directorio /usr/locar/apr/lib"
aplicándolo es así:
ln -s  /usr/local/apr/lib/libtcnative-1.so.0.1.24 /usr/lib/libtcnative-1.so.0.1.24
ln -s  /usr/local/apr/lib/libtcnative-1.so.0 /usr/lib/libtcnative-1.so.0
ln -s  /usr/local/apr/lib/libtcnative-1.so /usr/lib/libtcnative-1.so
ln -s  /usr/local/apr/lib/libtcnative-1.la /usr/lib/libtcnative-1.la
ln -s  /usr/local/apr/lib/libtcnative-1.a /usr/lib/libtcnative-1.a
ln -s  /usr/local/apr/lib/libapr-1.so.0.4.6 /usr/lib/libapr-1.so.0.4.6
ln -s  /usr/local/apr/lib/libapr-1.so.0 /usr/lib/libapr-1.so.0
ln -s  /usr/local/apr/lib/libapr-1.so /usr/lib/libapr-1.so
ln -s  /usr/local/apr/lib/libapr-1.la /usr/lib/libapr-1.la
ln -s  /usr/local/apr/lib/apr.exp /usr/lib/apr.exp
ln -s  /usr/local/apr/lib/libapr-1.a /usr/lib/libapr-1.a

11. ahora solo queda reiniciar el tomcat y verificar de nuevo en el log que ya está la librería de APR funcionando adecuadamente... así:

Detener ingresar al directorio tomcat y detener el servidor :
cd apache-tomcat-VERSION-DESCARGADA/bin
./shutdown.sh

ahora iniciar tomcat y verificar el log
 ./startup.sh &

Verificar el log de tomcat "ubicado en: apache-tomcat-VERSION-DESCARGADA/log/catalina.FECHA-INICIO-TOMCAT.log" y ver que la librería APR fue cargada satisfactoriamente! se pueden encontrar estas lineas en este caso están en español:
INFO: Cargada la biblioteca nativa APR de Apache Tomcat 1.1.24 con la versión APR 1.4.6.

Espero sea de ayuda!, hasta pronto!