Meta

Pages

Tag: gz

This one escaped me for a long time and I never saw a decent example of it in any of the documentation.

GZip compression saves on network bandwidth as files are compressed during transport between the HTTP Server and browser/client. If you already use Apache HTTP or a similar webserver to front Tomcat, this is not always necessary, but in cases where you expose your appserver directly, even if it is just for testing, you may want to add this configuration item as it increases the perceived speed of the application.

The solution is simple:

To be safe, first stop the server and backup your configuration files

Look in the /TOMCAT/conf installation folder.

In the ‘server.xml’ file, you will find a line resembling…<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

This one controls the HTTP/1.1 connections, add a new value to the list…compression="on"

NOTE You might also see a value for for AJP/1.3, unfortunately compression only works for HTTP:<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

I spend a lot of my time tweaking the performance of web applications, in addition to optimizing code it’s also necessary to verify that your server settings are also optimized for network performance to reduce bandwidth usage and thus client response times.

NOTE: This is a tradeoff between CPU and network performance, it works by compressing the content on the server just before it is sent over the wire…. when the client receives it, it then also spends some of it’s resources to decompress the content.

# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won’t work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html