Cache filter Statics in Tomcat


Hola a todos,

En el post anterior os comente como poder comprimir los ficheros estáticos en una capa superior a vuestro tomcat (que para mi es la manera mas elegante) y ahora os mostrare como hacerlo en pentaho/tomcat .

Pentaho

Ahora os voy a comentar como hacerlo directamente en pentaho para los que no quieran meterse en sistemas  o no tengan el suficiente tiempo o recursos
1.- Parar el servidor de pentaho
2.- Copiar el  cachefilter.jar file en  \biserver-ce\tomcat\webapps\pentaho\WEB-INF\lib.
3.- Navegamos  en  \biserver-ce\tomcat\webapps\pentaho\WEB-INF y abrimos  el fichero  web.xml.
4.- Agregue los siguientes filtros en la parte inferior de los filtros secciones dentro del archivo web.xml (El propósito de modificar el archivo web.xml es mapear los tipos de archivo que el filtro de caché será de proceso. Hacemos esto mediante la definición del patrón de URL que estamos buscando o simplemente la extensión del archivo, como en el ejemplo a continuación):

<filter>
	<filter-name>imagesCache</filter-name>
	<filter-class>com.samaxes.filter.CacheFilter</filter-class>
<init-param>
	<param-name>static</param-name>
	<param-value>true</param-value>
</init-param>
<init-param>
	<param-name>expirationTime</param-name>
	<param-value>2592000</param-value>
</init-param>
</filter>
<filter>
<filter-name>cssCache</filter-name>
<filter-class>com.samaxes.filter.CacheFilter</filter-class>
<init-param>
<param-name>expirationTime</param-name>
<param-value>604800</param-value>
</init-param>

</filter><filter>
<filter-name>jsCache</filter-name>
<filter-class>com.samaxes.filter.CacheFilter</filter-class> 

<init-param>
	<param-name>private</param-name>
	<param-value>true</param-value>
</init-param>
<init-param>
	<param-name>expirationTime</param-name>
	<param-value>216000</param-value>
</init-param>
</filter>

Esto configura los diferentes filtros, y les da valores de caducidad que se añaden a la época en que se hizo la solicitud del servidor. Los valores son en segundos; 216000
corresponde a dos días y medio, 604.800 corresponden a siete días completos, y 2.592 millones corresponde a 30 días completos.

5.- El siguiente paso es añadir el tipo de filtro para el mismo archivo (web.xml). El siguiente ejemplo muestra las extensiones de archivo específicas.

Agregue la siguiente sección a otra parte del archivo web.xml:

<filter-mapping>
	<filter-name>cssCache</filter-name>
	<url-pattern>*.css</url-pattern>
</filter-mapping>
<filter-mapping>
	<filter-name>jsCache</filter-name>
	<url-pattern>*.js</url-pattern>
</filter-mapping>
<filter-mapping>
	<filter-name>imagesCache</filter-name>
	<url-pattern>*.png</url-pattern>
</filter-mapping>

6.- Levantamos el servicio de pentaho

Tomcat

¿Cómo lo hacer para ayudar a a mejorar el rendimiento de mi servicio web?
Navegadores  modernos como Internet Explorer, Firefox, Chrome , etc entienden el contenido gripe comprimido. Estos navegadores son capaces de descomprimir  datos en gzip desde texto plano.

Servidores como Apache, Tomcat, JBoss etc soporta  también compresión gripe.  Por tanto, si gzip está activado en dichos servidores, la respuesta se comprime y luego la enviara al cliente. De ahí que este aumento del rendimiento sea importante para muchos pliegues.

Cómo habilitar GZIP en mi servidor Tomcat?

editar el archivos /conf/server.xml y añadir a la configuración del conector HTTP algo como esto:

  • compression: Sirve para activar al compresión.
  • compressionMinSize: Tamaño minimo para comprimir.
  • noCompressionUserAgents: Le dice para que clientes no tiene que usar la compresión (puedes decirle que no haga compresión para un navegador determinado).
  • compressableMimeType: con este parámetro le indicamos el contenido que queremos que se sirva comprimido (aquí teneis una lista de los posibles mime type).
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"

Un ejemplo de una configuración de conector HTTP con compresión habilitada  podría ser:

<Connector port="8080" 
maxHttpHeaderSize="8192"
maxThreads="150" 
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
redirectPort="8443"
acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"   compressableMimeType="text/html,text/xml"/>

Resources:

http://stackoverflow.com/questions/25773248/how-gzip-in-tomcat-works

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s