> From: David kerber [mailto:dcker...@verizon.net]
> The tomcat application simply takes the post request,
> does a checksum verification of it, decrypts the
> lightly-encrypted data,
> and writes it to a log file with the timestamps and site identifiers I
> mentioned above.  Pretty simple processing, and it is all inside a
> synchronized{} construct:
>
>     protected synchronized void doPost(HttpServletRequest request,
> HttpServletResponse response )
>             throws ServletException, IOException {
>         synchronized ( criticalProcess ) {
>             totalReqCount++;
>             dailyReqCount++;
>             processRequest( request, response, false );
>         }
>     }

Doesn't the "synchronized" in the above mean that you're essentially 
single-threading Tomcat?  So you have all this infrastructure... and that sync 
may well be the bottleneck.

You could detect this by taking a thread dump in the middle of the day, and 
seeing whether a significant number of threads were waiting on either of your 
sync objects.  If there are a significant number, consider re-engineering this 
critical piece of your application to be multi-threaded :-).

                - Peter

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

Reply via email to