Bret and Robert, I would suggest that getting a packet trace is the next 
step in tracking down your performance problem.  If you don't already have 
such a tool, Ethereal is a top notch open-source tool for this which is 
distributed with linux, but also freely available for windows and mac at 
www.ethereal.com.  I would capture and compare two downloads, one fast and 
one slow, keeping as many other variables the same as possible.  From the 
test scenarios Robert outlined, I would suggest comparing tomcat/jk2/IIS6 
<--> w2k/IE6 with tomcat/jk2/IIS6 <--> wXP/IE6.
When you compare them, here are the kind of things I would look for:
1. Is there some kind of lengthy exchange happening in one that is not in 
the other?
2. Is the connection failing repeatedly and being automatically retried by 
the client?
3. Are a lot of packets getting resent in one, i.e. failing to be 
acknowledged in a timely fashion?
4. Is the process just running slower, and if so, who is slowing it down? 
(all the packets are timestamped.  It's pretty easy to see if the server 
is slow to send the response, and/or send additional packets when others 
in the window have been ACKed by the client, or to see if the client is 
slow to ACK packets, and so the server, once it's window is full, must 
wait for the client before it can send more.)
5. Is there anything different about the headers exchanged, other than the 
platform indicated in the User-Agent header.

Reply via email to