> What are some methods people use to measure the performance of
> Tomcat? I'm looking to do some tuning of the Ajp13 code, and I'd like
> to build up an understanding of where the bottlenecks might be.
My recomendation is to start with simple tools - and "ab" is a perfect one
if you use it with the right servlets and the right instrumentation on the
server side.
For Ajp13 you'll need to measure and tune the communication overhead - for
the invocation/response part you can use the simple HelloWorld servlet,
and you can create other simple servlets to tune other parts of the
protocol.
Even if the number you'll get will have no meaning for real apps ( other
than the maximum speed tomcat can get for the simplest application ) - it
does help a lot to improve this maximum speed and it shows where the
problems are in the servlet container ( what you are tuning ).
To see what happens inside the VM you can use -hprof, turn on verbose
garbage collection ( very, very interesting ), and maybe try OptimizeIt
( it works on Linux ).
It is very important to use "ab -c 20 " ( or more ) to get real
information about how the server works under load - "ab -c 1 " is of no
real use.
Of course, there are better methods and tools - that's what I found to
work better for me...
Costin