tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remy Maucherat <>
Subject Re: Hybrid (NIO+Multithread, SSL enabled) architecture for Coyote
Date Wed, 25 May 2005 16:38:55 GMT
Peter Lin wrote:
> I'm not sure I agree with that statement. The reason for using apache
> AB for small files under 2K is that JMeter is unable to max out the
> server with tiny files. You can see the original number I produced
> here
> Since the bulk of my work the last 4 years has been with large
> applications handling millions of pageviews a day, I can safely say
> that most large deployment will rarely exceed 50 concurrent requests
> for extended period of time. this is just my experience on real
> applications, but we generally buffer the entire page and then send it
> in one shot.  this is done for several reasons.
> 1. WAN latency - as you already stated
> 2. improve accuracy of performance logging. we log the page generation
> to make sure we know exactly how much time is spent for the query,
> page markup and transfering the data.
> 3. allows us to track network bottleneck more accurately
> In my mind, the argument for tomcat supporting 1000 concurrent
> connections for an extended period of time isn't valid from my
> experience. There's typically a large cluster of servers that are load
> balanced behind a load balancing router. For me, throughput is far
> more important because most the images and files range from 5-15K in
> size. In these cases, maximizing throughput is more important. So
> small sites trying to deal with the /. effect, it's not worth it.  I
> say that because the network will die long before tomcat will. Any
> site with serious performance requirements will host at a tier 1
> provider and have a cluster of servers.  small personal sites are
> shared hosted and often don't have enough bandwidth.

Yes, all this stuff is not really that useful in the real world in the 
end, and is mostly an answer to non blocking IO hype (which I find quite 
annoying). The actual benefits are:
- better resource efficiency for small servers (hopefully allowing 
eventually a larger market share for Java web servers), but indeed it's 
not going to help in front of /.
- all the other APR features which are really useful and not provided by 
the core Java platform
- a lot more efficient for certain proxying scenarios (AJP mostly, but 
HTTP can have benefits too) - having maximum throughput is very 
important for this scenario, and is why I want maximum throughput
- a lot more efficient for large static files (ex: serving media) due to 


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

View raw message