On 10/16/07, Mark Maunder <[EMAIL PROTECTED]> wrote: > Mornings are the busiest for us, so the following is not during peak. > This is my current mod_status: > 39.4 requests/sec - 114.4 kB/second - 2976 B/request > 80 requests currently being processed, 170 idle workers
Do you have a proxy server in front of this? If not, it might make a big difference in how many active mod_perl processes you need. > I peak at about 75% of my threads being busy. If I have any less than > 250 spare threads, then I get an alert from our monitoring every few > hours with a timeout because I suspect I'm hitting maxclients every > now and then. You'd see a message in your error_log if you were hitting MaxClients. > So > perlInterpStart and PerlInterpMax are 3 and 5 respectively if they are > the defaults. Then your 5 processes with only 4 using real memory probably means no more than 20 perl interpreters. I think that if you ran prefork with 20 processes and a front-end proxy you would see the same performance with less memory used. Right now, you have a lot of threads that aren't running perl but are sending out data to clients. A front-end proxy should do that in a prefork setup to avoid tying up the interpreters. > Is there a way to check at runtime what these params are > set to? I think Apache2::Directive will do it. > And what do you recommend for 250 threads? I avoid threads like the plague, so I couldn't really tell you from experience. It sounds like your current settings are working for you though, except for the problem you originally mentioned, which I'm afraid I don't have any ideas about. Maybe someone who runs threads (Torsten?) would have a guess. - Perrin