Hi Martin,

2017-08-18 10:09 GMT+02:00 Martin Knoblauch <kn...@knobisoft.de>:
>
>
>  Lets say I wanted to increase MaxRequestWorkers to e.g. 800. One of the
> several solutions would be to up ServerLimit to 32 and leave
> ThreadsPerChild at 25. But I could also leave ServerLimit at 16 and up
> ThreadsPerChild to 50. Or I could choose any combination where
> ServerLimit*ThreadsPerChild is bigger than 800. What I would like to know
> is which way to go. And why. What gives the best and most reliable results.
> Assumption is that there is plenty of free memory, CPU and network
> bandwidth available.
>

my personal recommendation would be to prefer increasing the number of
threads rather than the number of processes (threads are supposed to share
more and be less heavy to context switch for the OS, but on Linux this can
generate loooong discussions and flames so I will not go there :), but
you'd probably need to perform some load tests with different
configurations and see which one suits your system more. From the
reliability point of view I don't see much difference between the two
approaches, again testing would probably give you more datapoints to choose
the best approach for you use cases.

Interesting to read is also what mpm_event offers over mpm_worker and what
use cases it solves: https://httpd.apache.org/docs/2.4/mod/event.html

One thing that might also be good to check is the following:
https://httpd.apache.org/docs/current/mod/mpm_common.html#listencoresbucketsratio
When you read it please keep in mind that each process in mpm_worker/event
allocates one thread as listener, so there is contention for the listen
socket.

Luca

Reply via email to