So, while you are wondering who will answer your next support call and/or 
watching your stock tank, here's something that I have been experimenting with: 
web compression.  It's built into most browsers and web servers, and by default 
it's turned off. Turning it on can really make a big difference over longer, 
slower network connections.

Here's what I have learned so far, and I'd really like to know if this results 
in any improved web performance at other sites. If you try this please report 
your results (but trim all this text out to keep the clutter down)...

Turning on compression in the web-server used for Remedy mid-tier has produced 
a dramatic speedup at our site. I'm really not sure why this isn't a 
recommended configuration, except that the compression will consume some 
horsepower on the web server and decompression will use a few cycles on the end 
user desktop. If your end-to-end times across the network are more than a 
couple of seconds, it's probably worth testing at your site. 
   
Here are the steps to follow for Apache/tomcat 5.5.xx on Solaris. These should 
also work for Apache/tomcat on Linux and HP and AIX, but I haven't tested these 
other platforms. There's a link to instructions for Windows IIS at the bottom. 
   
"tomcat" in a directory or path name refers to the installation directory for 
Apache/tomcat. On my system this is /opt/ar/apache-tomcat-5.5.20, and we've 
aliased that to just /opt/ar/tomcat.  
   
First, on your Apache/tomcat server, locate tomcat/conf/server.xml. This 
configuration file has a stanza for each of the connectors your web server is 
running, and you'll find one defined for port 8443, 8080, etc.  Incidentally, 
you can change those to port 443 (secure) or port 80 and get rid of the 8080 on 
your URL, or you can just duplicate the 8080 stanza, changing the port number 
to just 80, and it will work either way, assuming that you don't have anything 
else running on port 80.    
   
Find this text in tomcat/conf/server.xml:             
   
<!-- Note : To use gzip compression you could set the following properties : 
  
                           compression="on"
                           compressionMinSize="2048"
                           noCompressionUserAgents="gozilla, traviata"
                           compressableMimeType="text/html,text/xml"

And add it to each of the stanzas for a port, so they look like this: 
   
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector port="8080" maxHttpHeaderSize="8192" URIEncoding="UTF-8"
               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"/>  
   
There will probably be several stanzas, and I don't see anything wrong with 
turning compression on for all of them. The compressMinSize setting says that 
you need at least 2k worth of data before it's worthwhile compressing it. You 
can adjust this value if you think it's necessary, but leave it alone for now.  
 In most cases you'll just add the last three lines to an existing stanza. Be 
careful about the /> at the end. You'll need to remove the /> on the last line 
of the existing stanza and make sure it appears as the last thing in your new 
stanza.    
   
You could restart tomcat at this point on Windows and compression would start 
working.   
   
If you are on Unix/linux there's another step (and this I learned the hard way 
with a lot of googling). 
   
The Apache 5-5.x distributions truncate a bunch of filenames when they are 
gunzipped on Unix hosts. The files are in  
   
tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters 
   
 and if they are broken they will look like this: 
   
total 58
   2 drwxr-xr-x   2 root     root         512 Oct  2 11:41 .
   2 drwxr-xr-x   7 root     root        1024 Oct  2 15:21 ..
  16 -rw-r--r--   1 root     root        7438 Sep 12  2006 CompressionFilter.
   4 -rw-r--r--   1 root     root        1815 Sep 12  2006 CompressionFilterT
  18 -rw-r--r--   1 root     root        8877 Sep 12  2006 CompressionRespons
  16 -rw-r--r--   1 root     root        7920 Sep 12  2006 CompressionServlet 

 or perhaps like this: 

total 66
   2 drwxr-xr-x   2 root     root         512 Jun 25  2007 .
   2 drwxr-xr-x  17 root     root         512 Jun 25  2007 ..
   8 -rw-r--r--   1 root     root        4025 Sep 12  2006 
CompressionFilter.class
  16 -rw-r--r--   1 root     root        7440 Sep 12  2006 
CompressionFilter.java
   4 -rw-r--r--   1 root     root        1815 Sep 12  2006 
CompressionFilterTestSe
  18 -rw-r--r--   1 root     root        8879 Sep 12  2006 
CompressionResponseStre
  16 -rw-r--r--   1 root     root        7922 Sep 12  2006 
CompressionServletRespo
   
They should look like this. Notice the longer file names:   

total 88
   2 drwxr-xr-x   2 root     root         512 Oct  2 15:22 .
   2 drwxr-xr-x   7 root     root        1024 Oct  2 15:21 ..
   8 -rw-r--r--   1 root     root        4025 Aug 28 22:10 
CompressionFilter.class
  16 -rw-r--r--   1 root     root        7626 Aug 28 22:10 
CompressionFilter.java
   4 -rw-r--r--   1 root     root        1665 Aug 28 22:10 
CompressionFilterTestServlet.class
   4 -rw-r--r--   1 root     root        1974 Aug 28 22:10 
CompressionFilterTestServlet.java
  10 -rw-r--r--   1 root     root        4354 Aug 28 22:10 
CompressionResponseStream.class
  20 -rw-r--r--   1 root     root        9318 Aug 28 22:10 
CompressionResponseStream.java
   8 -rw-r--r--   1 root     root        3838 Aug 28 22:10 
CompressionServletResponseWrapper.class
  14 -rw-r--r--   1 root     root        7114 Aug 28 22:10 
CompressionServletResponseWrapper.java
  

To fix, go get the current apache/tomcat 5-5-xx  distribution from the download 
page at http://tomcat.apache.org, and unzip it on your Windows desktop.  You 
don't actually need to unzip the whole thing, just navigate to the 
compressionFilters folder and extract these 8 files into another folder on your 
desktop, then FTP them to your web server and put them into:    
   
tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters 

It's probably a good idea to move the existing compressionFilters directory to 
compressionFilters.original just in case. I don't know a lot about tomcat, but 
I think you could put these in WEB-INF/classes under any app and they would 
work.  tomcat just has to be able to find them somewhere, and on my server the 
jsp-examples and servelet-examples apps are still active.   
   
THEN 
   
go to tomcat/bin and run shutdown.sh, and then startup.sh 
   
THEN 
   
go to your desktop web browser and login to the Remedy page. You will probably 
want to exercise recaching all the pages on 7.0.x or earlier.  
   
THEN go tell your friends that it's working!     
   
Turning on compression for IIS on Windows 2003 is discussed here:  
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/d52ff289-94d3-4085-bc4e-24eb4f312e0e.mspx?mfr=true
  
   
I don't have an IIS setup at the moment, but it looks pretty straightforward. 
   
The time to display the Home Page is about 5 seconds in my current production 
system, and under 3 seconds on my compression test system. Home Page click to 
one of our local apps is 7 seconds in current production, 3 seconds in 
compressed system, with identical web servers and in the same web browser on 
different tabs. The worst case at our site is about a minute from Chicago to 
Tel Aviv (via a very weird network path) and after compression it's about 12 
seconds. There are similar speed-ups in initial drawing many of the Remedy 
screens, not quite as big a difference in navigating between records on a 
results list. Of course, any improvement you see will depend on the 
configuration of your networks.   
   
Thanks to Norman Dignard for correspondence that helped me to resolve the Unix 
gunzip file name issue. 
   
Let me know how it works... 
   
Doug  
   
  

Doug Blair 
Orbitz Worldwide 
[EMAIL PROTECTED] 
 +1 312-260-2243  office 
 +1 224-558-5462  mobile  


_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are"

Reply via email to