Configuración para un mejor performance en apache
Que tal a todos se preguntara porque hay tan poco tiempo entre los post que he publicado, esto porque ya tengo preparada la información, por lo general redacto el articulo y después lo publico, bueno en fin en este post les dejare una de las posibles configuración para mejorar el rendimiento de una aplicación web atraves del Apache, espero encuentren este mini artículo de utilidad.
Para
obtener un mayor rendimiento de nuestras aplicaciones he llegado
através de la información que proporciona yahoo con el
yslow para firefox a la siguiente configuración del apache
para producción, esta configuración es muy útil
si estás construyendo una aplicación con AJAX, o en si
para cualquier tipo de aplicación.
Estas
lineas de configuración montan el cache en apache, agregan
compresión a los responses del servidor por medio del deflate,
y agrega la cabecera expires para guardar cierto tipo de archivos del
lado del cliente.
Para
modificar la configuración del apache tenemos que modificar el
archivo httpd.conf
#montar
modulo de cache para el apache
LoadModule
cache_module modules/mod_cache.so
<IfModule
mod_cache.c>
<IfModule
mod_disk_cache.c>
CacheRoot
“C:/Archivos de programa/Apache Software
Foundation/Apache2.2/cache”
CacheSize
1000000
CacheEnable
disk /ebcomm2
CacheDirLevels
5
CacheDirLength
3
CacheDefaultExpire
3600
CacheIgnoreCacheControl
On
CacheMaxExpire
31536000
</IfModule>
</IfModule>
#
Configuracion del modo deflate y gzip para compresion de datos
SetOutputFilter
DEFLATE #filtro por el que saldran los responses
SetInputFilter
DEFLATE #filtro con el que se tomaran los request
BrowserMatch
^Mozilla/4 gzip-only-text/html #tipo de compresion de acuerdo al
navegador
BrowserMatch
^Mozilla/4\.0[678] no-gzip
BrowserMatch
\bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase
Request_URI \
#Cargar
modulos para agregar header expires a los archivos
LoadModule
expires_module modules/mod_expires.so
ExpiresActive
On #Activa el expires header
ExpiresByType
application/x-javascript “now plus 1 years 1 minutes”
#guarda en cache los archivos tipo application/x-javascript
ExpiresByType
image/gif “now plus 1 years 1 minutes”
ExpiresByType
image/jpeg “now plus 1 years 1 minutes”
ExpiresByType
text/css “now plus 1 years 1 minutes”
ExpiresByType
image/png “now plus 1 years 1 minutes”
ExpiresByType
text/js “now plus 1 years 1 minutes”
ExpiresByType
text/javascript “now plus 1 years 1 minutes”
14 reglas para el alto performance de un sitio web
En unos de mis tantos paseos por internet me encontre con una herramienta para firefox 1 y 2 que se llama yslow, esta herramienta realiza un chequeo de 14 puntos que la gente de la sección de performance de yahoo determino como mejores prácticas al momento de estar desarrollando sitios web. Después de haber probado por algunos días esta herramienta la recomiendo ampliamente ya te da una idea muy clara de que es lo que tienes que hacer con tu sitio si es que aun no lo has hecho, o bien si en este momento no desarrollas en web, creo que sería importante que tomáras estos puntos en cuenta para tu próxima aplicación. A continuación les dejo los 14 puntos y un enlace donde pueden obtener mayor información.
- Realizar un menor número de HTTP Requests
- Utilizar un Content Delivery Network Se refiere a utilizar un CDN para seleccionar la ubicación más cercana al usuario para entregarle el contenido del sitio.
- Agregar Expires Header Este tipo de cabeceras se agregan en el servidor web (por ejemplo en apache web server)
- Comprimir los componentes en Gzip
- Insertar las CSS al inicio de la página
- Mover los Scripts al final
- Evitar las expresiones en CSS
- Hacer los JavaScript y CSS externos
- Reducir las busquedas de DNS
- Minificar JavaScript
- Evitar los redireccionamientos
- Remover los scripts duplicados
- Configurar ETags
- Hacer que Ajax sea cacheable(que se guarde en cache)
Saludos, espero que tengan un buen día.
Configuring Jboss server for apache web server
Aquí otra vez reportandonos y tratando de aportar algo para el blog y para todos ustedes en los días pasados se estuvo configurando un servidor Jboss dentro de un servidor apache, la version del jboss es la 4.2 y debido a ciertos cambios en esta versión la integración de ambos servidores cambio un poco, a lo largo de este articulo iremos explicando paso a paso como integrar estas dos tecnologías.
1. Descargar JBoss application server de la siguiente dirección http://labs.jboss.com/jbossas/downloads
2. Descargar el mod_jk 1.2 de la siguiente dirección http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/win32/jk-1.2.14/mod_jk-1.2.14-apache-1.3.33.so (Es preferible utilizar el mod_jk 1.2.x en lugar del mod_jk2, ya que los dos estan depreciados, sin soporte y no hay desarrollos en estos proyectos el la versión 1.2.x es la que considero un poco mas estable)
3 . Descomprimir el archivo de jboss en la ubicación que se prefiera por ejemplo c:\
4. Instalar el servidor apache
7. Instalar el mod_jk:
Copiar el archivo descargado a la siguiente carpeta:
/APACHE_HOME/modules/
/APACHE_HOME en este caso sería algo asi como lo siguiente: c:\Archivos de programa\Apache Software Foundation\Apache2.2\modules
Configuración:
1. Editar el archivo APACHE_HOME/conf/workers.properties como sigue:
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
2. Ahora hay que editar el archivo APACHE_HOME/conf/httpd.conf y se agregaran las siguientes lineas
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
JkWorkersFile “C:/Archivos de programa/Apache Software Foundation/Apache2.2/conf/workers.properties”
JkShmFile “C:/Archivos de programa/Apache Software Foundation/Apache2.2/log/httpd/mod_jk.shm”
JkLogFile “C:/Archivos de programa/Apache Software Foundation/Apache2.2/logs/mod_jk.log”
JkLogLevel info
JkLogStampFormat “[%a %b %d %H:%M:%S %Y] “
4. Editar el archivo JBOSS_HOME/server/node1/deploy/jboss-web.deployer/META-INF/jboss-service.xml y se cambia lo siguiente:
<attribute name=”UseJK”>true</attribute> <!– esto aplica solo si vas a hacer cluster –>
5. Editar nuevamente el archivo APACHE_HOME/conf/httpd.conf
################################################################################
## configured by César Hermosillo ##
################################################################################
# load the worker file for mod_jk
<IfModule mod_jk2.c>
#———————————————–
# Location of the workers2.properties file
#———————————————–
#
JkSet config.file APACHE_HOME/conf/workers.properties
</IfModule>
#Make the mount of application context
jkmount /* worker1
Jkmount /MyApp/* worker1
#Generate an alias to be call
Alias /MyApp “C:/jboss/server/default/deploy/sam.war”
#Configure cache module for apache
LoadModule cache_module modules/mod_cache.so
<IfModule mod_cache.c>
<IfModule mod_disk_cache.c>
CacheRoot “C:/Archivos de programa/Apache Software Foundation/Apache2.2/cache”
CacheSize 1000000
CacheEnable disk /ebcomm2
CacheDirLevels 5
CacheDirLength 3
CacheDefaultExpire 3600
CacheIgnoreCacheControl On
CacheMaxExpire 31536000
</IfModule>
</IfModule>
#Generate the headers for the element to expire
LoadModule expires_module modules/mod_expires.so
ExpiresActive On
ExpiresByType application/x-javascript “now plus 1 years 1 minutes”
ExpiresByType image/gif “now plus 1 years 1 minutes”
ExpiresByType image/jpeg “now plus 1 years 1 minutes”
ExpiresByType text/css “now plus 1 years 1 minutes”
ExpiresByType image/png “now plus 1 years 1 minutes”
ExpiresByType text/js “now plus 1 years 1 minutes”
6.- Finalmente se inicia el servidor de Apache y se inicia el servidor de Jboss, para probar que si esta todo configurado correctamente se puede teclear lo siguiente en el navegador:
Http://localhost y nos debe de aparecer la consola de administración de jboss.
Con esta instalación se estarán guardando en cache todas las imagenes, los estilos y los js de tus aplicaciones haciendo que el rendimiento aumente considerablemente.
Saludos espero que les sea de utilidad esta información