Configuración para un mejor performance en apache

Febrero 21, 2008 at 8:24 pm (Desarrollo Web General, WAS, ajax, html)

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”

Permalink Dejar un comentario

14 reglas para el alto performance de un sitio web

Enero 16, 2008 at 8:29 pm (Desarrollo Web General, WAS, ajax, css, html, javascript)

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.

  1. Realizar un menor número de HTTP Requests
  2. 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.
  3. Agregar Expires Header Este tipo de cabeceras se agregan en el servidor web (por ejemplo en apache web server)
  4. Comprimir los componentes en Gzip 
  5. Insertar las CSS al inicio de la página
  6. Mover los Scripts al final
  7. Evitar las expresiones en CSS
  8. Hacer los JavaScript y CSS externos
  9. Reducir las busquedas de DNS
  10. Minificar JavaScript
  11. Evitar los redireccionamientos
  12. Remover los scripts duplicados
  13. Configurar ETags
  14. Hacer que Ajax sea cacheable(que se guarde en cache)

Saludos, espero que tengan un buen día.

Permalink 2 comentarios

Configuring Jboss server for apache web server

Diciembre 10, 2007 at 6:27 pm (WAS) (, , )

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

Permalink 8 comentarios