tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remy Maucherat <>
Subject Re: [VOTE] APR or NIO ?
Date Mon, 21 Nov 2005 10:55:08 GMT
Henri Gomez wrote:
> Well why so much noise about NIO/APR ?

Because I don't want to have to support 20 different connector 
technologies (you can call it a business requirement). So one has to be 
labelled as "experimental" or something. Similarly, the connector 
options right now are (for me) a bit too large.

> If some want to experiment APR or NIO, why can't they do their works
> on some sort of incubations projets and when stable enough give us
> benchmarks results.
> Benchmarks/tesings should give us information on :
> stability, speed, memory usage, IO usage and of course we should have
> these on many platforms. For example if the alternative implementation
> is running fast as hell on Linux but has no gain on Windows or iSeries
> should we consider it usefull to users ?
> Also should we depend on APR on a java centric project ?

Apparently not ;)

> I've got no problem with APR, it's a very good piece of code, running
> well even on exotic platforms like iSeries (and probably BS2000 jfc
> ?), but should we use a native library as the fundation of Java
> products ?

The code it replaces in the JVM is all native, written by the JVM 
vendor. For most users, it's written by Sun, and parts of it (java.nio 
select functionality, for example) have seen reliability issues. Fixing 
these kind of problems in this key component (at least in the case of a 
web server) requires updating the whole JVM. Besides Sun, and hopefully 
the other JVM vendors, I don't see how to actually do support on a NIO 

APR OTOH is used heavily in a similar production usage on all the 
platforms that we want to support.

> Also since we're speaking about a future Tomcat redesign, shouldn't we
> take care of the future JVM implementations ? Sun, IBM JVMs for now
> but in the future GJC and upcoming Harmony ? If these use APR or
> something similar in native land, should we use APR directly ?

Unless the said JVMs get certified, I think only a few people are going 
to use them for real usage. BTW, yes, APR is still needed, as the JVM 
can only expose a small subset of the functionality through java.nio.

> I'd like to see here pragmatics informations on gains expected when
> using NIO/APR/WHATEVER in real life situations which is what users and
> admins expects.

I can give a real life example using AJP where the current connector 
doesn't work. If you have many front end Apache servers and few Tomcat 
servers, since the AJP connections are persistent, the backend servers 
will not be able to serve requests. APR allows using a poller for 
keepalive, so this solves the problem and the thread count on backend 
servers will remain sane.

> Have a good day and peace on Tomcat Dev community

Ok :)


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

View raw message