On 3/7/07, Caldarale, Charles R <[EMAIL PROTECTED]> wrote:
The scalability is improved due to not having to keep a thread around
for each persistent HTTP connection.  (The new NIO connector in Tomcat 6
also achieves this.)  Whether or not that aspect improves your
performance due to less context switching, CPU cache loading/unloading,
etc., will depend almost entirely on your workload.

He's talking about AJP here, and there's no AJP connector using the
NIO endpoint at the moment. The scalability improvement is twofold for
AJP:
- when running many Apache frontend servers (each with a sizeable
number of workers), Tomcat would need a huge amount of AJP worker
threads with the java.io connector
- threads will only be used for actually executing requests, thus
making concurrency in business logic a bit more predictable (if you
have 2000 threads, it's ok most of the time, as long as no lock gets
contested by too many threads, in which case it's far better if you
had only 200 threads)

It also saves memory (no surprise). Socket polling will only be used
for keepalive: during the processing of a request, the connector uses
regular blocking IO.

Rémy

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to