Andy Wang wrote:
Hi all,
We've had a number of cases of people reporting to us that file
downloads are slow when passed through tomcat and I've not been able to
reproduce the problem on Linux but finally was provided a windows XP VM
that was able to reproduce the problem.
This is Apache 2.2.22 and mod_jk 1.2.32 with tomcat 5.0.30 (yeah, I know
this is ancient. I'll try with something newer tomorrow).
I have two URLs configured both with an identical iso file (roughly
450MB) in size.
When I go through the URL configured to run directly through Apache the
download speeds on the file are around 30MB/s which is reasonable for
what I would expect on the network connection between the client and the
web server.
The second URL is JkMount'ed through to tomcat and download the same
file drops down to 5-6 MB/s (starts at 10-ish MB/s).
The one thing I haven't tried configuring is upping the ajp packet size
because the version of tomcat I was provided doesn't support that, but
otherwise the operating system is tuned so the TcpWindowSize is 131072.
Unfortunately, this is windows, and both apache and tomcat are local on
the server so I can't sniff the packets between the two systems with
wireshark.
I don't see anything on the mod_jk workers.properties configuration that
deals with buffer sizes.
Hoping someone has some ideas on what to look at that might help tweak
this thing to perform similarly to Apache direct downloads.
Considering your setup, it should not be too hard to set up a download of the same file
file directly from Tomcat (through its HTTP Connector), to compare that with your two
previous ways. This way, you could make sure if it is Tomcat, or the mod_jk/AJP link
which is the issue.
Also, still considering your setup, it should be possible to configure things so that
these file downloads are handled directly by Apache httpd, since that seems to satisfy
your expectations. mod_jk "JkMount/JkUnMount" rules (*) should make that possible, no ?
Have to be a bit careful not to introduce security holes, and I am assuming that the files
are static (which may be wrong here).
(*) or the <Location ..> + "setHandler jakarta-servlet" configuration variation
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org