tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tony Anecito <>
Subject Re: IIS7/isapi/tomcat performance
Date Tue, 01 Mar 2011 21:07:58 GMT
Thanks Chris I will take a look at it.

I am just trying to figure out what is the fastest was to handle my app. I was 
shooting for less than 1msec at Tomcat which I not have done. Now I want to get 
to 100 microseconds. Years ago from an logical architecture standpoint It was:
1. Apache web server - JBoss, then 
2. Apache - Tomcat - JBoss
3. APR/Tomcat - JBoss. 

Then I drilled down into and refactored some of my code then finally looked at 
different types of web services and how fast and maybe why they might be slow.

I currently am using 200MB xmx, xms, -server, NUMA, and set my new generation to 
be large since my objects are short lived. I do not remember my other settings. 
I am beginning to think simpler is better for settings since at 1msec or less 
any time spent by the processor might be wasted time.

I am very curious how you got 50K requests per second. I can get 1K per second 
on my AMD 6 core system. What was your client setup? I ran my client on the same 
server as my APR/Tomcat-JBoss and I am setting up the client on a laptop so I am 
not sharing resources. For the client I am using ApacheHttp class running in 
Eclipse and launch each http request in a different thread. I ended 
upĀ configuring Tomcat for 400 connections which made a big difference. I still 
have alot more testing/tuning to do and I hope to get to it over the next couple 
of evenings.


----- Original Message ----
From: Christopher Schultz <>
To: Tomcat Users List <>
Sent: Tue, March 1, 2011 1:42:37 PM
Subject: Re: IIS7/isapi/tomcat performance

Hash: SHA1


On 3/1/2011 2:49 PM, Tony Anecito wrote:
> I understand it is from the core AWS but the important thing for me was to 
> eliminate AJP because in a AWS standalone I had used to communicate AJP.
> When I enabled ARP I did not have to do anything with AJP.
> So does ARP communicate with the servlet conatiner in a more efficiant manner?

(Presuming s/ARP/APR/g)

APR is just a connector strategy, like the BIO or NIO connectors. There
are APR connectors for both HTTP and AJP.

If you're saying that you switched from BIO/AJP to APR/HTTP, I'm not
surprised you experienced a performance improvement: you're eliminated
the web server altogether.

If instead you are still using a web server out front and using HTTP
instead of AJP to communicate with the back-end, I'd be interested in
your configuration, environment, and observed performance gain.
Generally speaking, use of AJP is slightly faster than proxied HTTP but
there are certainly some trade-offs (like lack of encrypted
communication support for AJP).

APR handles connections differently than the Default BIO connector. See
for notes about the relative capabilities of the connectors (for HTTP).
There is
no NIO connector for AJP, but I would imagine that the comparison between
the other two HTTP connectors is applicable to the AJP connectors as well.

- -chris
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla -


To unsubscribe, e-mail:
For additional commands, e-mail:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message