Brian Akins wrote:
Bill Stoddard wrote:

If the event MPM is working properly, then a worker thread should not be blocking waiting for the next ka request. You still have the overhead of the tcp connection and some storage used by httpd to manage connection
events but both of those are small compared to a blocking thread.


Should there be an upper limit on how many connections to have in keepalive, even when using event? Say you have 100 worker threads, you wouldn't want to have 8192 keepalive connections. So you would want some limit.

I really like the event mpm, but I still think there has to be an upper limit on how many connections to allow to keepalive.

I'm pleased to hear you've tried the event mpm.

not sure why there has to be a limit. are you talking about connections per worker process? except for the size of the pollset, I didn't see a need to put a limit on the number of connections per worker process back when I was stress testing it with specweb99. when a worker process was saturated with active threads, the listener thread would block in ap_queue_info_wait_for_idler() until a worker thread freed up. in the mean time, other processes would grab the new connections. so it was sort of self balancing as far as distributing connections among processes.

not sure if the current code still behaves that way. I plan to find out soon though.

We've been doing some testing with the current 2.1 implementation, and it works, it just currently doesn't offer much advantage over worker for us. If num keepalives == maxclients, you can't accept anymore connections.

that's a surprise, and it sounds like a bug. I'll investigate. it used to be that maxclients was really max worker threads and you could have far more connections than threads.

thanks for the feedback.

Greg


Reply via email to