Mark Thomas wrote:
On 17/10/2012 10:49, André Warnier wrote:
1) So it means that if a client connects to the server, but does not
send any request line for a while on that connection, the server will
allocate a thread to serve the request; this thread will wait up to 20 s
(on HTTP) or 60 s. (on HTTPS), before timing out and returning to the
pool of available threads.
Of course only a malicious client would do that..
Nope. This is the NIO connector. The request line is read using
non-blocking IO. The (simulated) blocking IO only starts once the first
header is received and continues until the entire request is received.
It then goes back to non-blocking for the next request line.
2) it also means that a perfectly non-malicious client can connect to
the server, and send a first request on the connection; the server will
allocate a thread to handle this request; and then, if the same client
has no more requests to send for a while, this thread will nevertheless
remain waiting on this connection for 20 s. (HTTP) or 60 s. (HTTPS),
just in case the client /would/ send another request on it.
During this time, the thread is unavailable to process other client
requests.
Again, nope. The thread is released between the requests.
Sorry, I stand corrected, I missed the NIO part.
For the record, is the above correct for the standard BIO connector (and in part for the
APR connector) ?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org