2013-03-11 16 views
5

Konfiguruję tomcat do kompresowania plików tekstowych. Moja obecna konfiguracja posiada:Jak ustawić rozmiar kompresji max tomcat gzip?

compression="on" 
compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/xml,application/x-javascript,application/json" 

Jestem jednak zauważyć, że plik javascript ponad ~ 60KB nie są kompresowane. Czy brakuje mi jakichkolwiek ukrytych ustawień?

Odpowiedz

10

Wyszukiwanie documentation for tomcat7 Nie mogę znaleźć odwołania do compressionMaxSize. Jedynym takim poleceniem jest compressionMinSize, które ma na celu odfiltrowanie kompresji dowolnego pliku mniejszego niż zdefiniowana wartość. Tak:

compressionMinSize="2048" 

Oto co mój server.xml wygląda w odniesieniu do kompresji:

compression="on" 
compressionMinSize="2048" 
noCompressionUserAgents="gozilla, traviata" 
compressableMimeType="text/html,text/xml" 

Jest rzeczywiście ukryty kawałek dokumentacji związanej z tym co tłumaczyłoby swoje doświadczenie:

Uwaga: jest to kompromis pomiędzy użyciu kompresji (oszczędność przepustowości ) i stosując sendfile funkcji (oszczędność swoje cykle CPU). Jeśli złącze obsługuje funkcję sendfile, np. złącze NIO, przy użyciu sendfile, będzie miało pierwszeństwo przed kompresją. Objawy to spowoduje, że pliki statyczne większe niż 48 Kb zostaną wysłane nieskompresowane. Możesz wyłączyć sendfile, ustawiając atrybut useSendfile złącza, zgodnie z dokumentacją poniżej, lub zmień próg użycia sendfile w konfiguracji DefaultServlet w domyślnie conf/web.xml lub w web.xml swojej strony internetowej podanie.

Więc jeśli chcesz zaoszczędzić przepustowość kosztem wykorzystania procesora można wyłączyć tę spust dodając to ustawienie do web.xml (seen here):

<init-param> 
    <param-name>sendfileSize</param-name> 
    <param-value>96</param-value> <!-- value in KB where compression is turned off in the name of CPU utilization --> 
</init-param> 
+0

mylę o tym? czy tylko zwiastun złych wieści? –

+0

Patrząc w to głębiej, rzeczywiście znalazłem coś związanego z twoim doświadczeniem. –

+0

Dziękuję, Jason! –