2013-02-24 3 views
3

J'ai activé la compression en utilisant le paramètre suivant dans mon tomcat7 server.xml:tomcat7 compression JS/CSS

<Connector port="8080" protocol="HTTP/1.1" 
       connectionTimeout="20000" 
       redirectPort="8443" 
compression="on" 
compressionMinSize="2048" 
noCompressionUserAgents="gozilla, traviata" 
compressableMimeType="text/html,text/xml,text/json,text/javascript,text/css,text/plain, 
application/javascript,application/xml,application/xml+xhtml" 
/> 

J'ai vérifié que la compression est maintenant mis sur l'utilisation: http://www.whatsmyip.org/http-compression-test/

Cependant, PageSpeed ​​signale toujours que plusieurs fichiers CSS/JS ne sont pas compressés. par exemple. La compression http://www.mysite.co.uk/css/bootstrap.css pourrait libérer 109,5 Ko (réduction de 84%).

+0

Toute solution? J'ai le même problème. – bashan

+0

J'ai fini par utiliser HTTPD Apache avec le module pagespeed –

+0

Merci :) J'ai besoin d'une solution avec Tomcat ... – bashan

Répondre

2

Tous les fichiers CSS/JS qui ne sont pas compressés sont-ils relativement volumineux? Peut-être que ceux-ci sont envoyés par "sendfile" et évitent ainsi d'être compressés.

Dans la documentation:

. « Note: Il faut trouver un compromis entre l'utilisation de la compression (sauver votre bande passante) et en utilisant la fonction sendfile (enregistrement de vos cycles CPU) Si le connecteur prend en charge la fonction sendfile par exemple le connecteur NIO, en utilisant sendfile aura la priorité sur la compression.Les symptômes seront que les fichiers statiques plus grand que 48 Kb seront envoyés non compressé.Vous pouvez désactiver sendfile en définissant l'attribut useSendfile du connecteur, comme documenté ci-dessous ou modifiez le le seuil d'utilisation de sendfile dans la configuration de DefaultServlet dans le fichier conf/web.xml par défaut ou dans le fichier web.xml de votre application Web. "

http://tomcat.apache.org/tomcat-6.0-doc/config/http.html

Set dans votre config:

useSendfile="false" 
+0

Non, j'ai aussi le problème avec les fichiers plus petits. J'ai quand même ajouté cette ligne et j'ai aussi mis compression = "force" et j'ai toujours le même problème. –