I've been trying to locate the source of an issue we've encountered
periodically, and am hoping to find some enlightenment here. The issue
is that we're seeing periodic slow responses - in some cases as long as
30-40 seconds for servlet requests that normally come in well under a
second. In troubleshooting the problem, I've traced the source to the
first time that our servlet makes a call to getParameter on the
HttpServletRequest. Our servlet often handles very large - as much as
1MB or so - post requests, with a great deal of JSON form data being
passed up from the client. Even so, it doesn't seem like parsing the
request should take anywhere this long. 

Some background:
- We're using Tomcat 5.5.26 fronted by Apache 2.0 using the mod_jk
connector.
- We have multiple Tomcat instances in our cluster, but the slow
responses occur on each of them with roughly the same frequency.
- Requests are via SSL, with the SSL handshake handled by a load
balancer.
- The slow requests are all POST requests
- Requests are all handled by a single servlet

Questions:
1. When is my servlet instantiated by Tomcat and its doPost method
called? Does this happen before the entire body of the request has been
received? In which case perhaps the delays are simply due to slow client
connections?
2. What is Tomcat doing when the first call to getParameter is made?
What kind of parsing does it have to do to respond?
3. Any ideas why we'd see such long response times on occasion, but not
consistently? If it had something to do with the Apache or mod_jk
config, I'd have expected that the request wouldn't have been hanging on
the getParameter call, it would have been hung up before my servlet was
ever invoked.

Any help would be greatly appreciated. 

Thanks,
Brian Harper


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to