Supondo que você tenha RAM suficiente para atender às solicitações e esteja usando o módulo de pré-processamento multiprocessamento, é possível usar as duas diretivas MaxClients
e ServerLimit
para definir o número total de solicitações simultâneas que serão atendidas;
Para verificar a execução do prefork apachectl -V | grep MPM
e procure a seguinte saída:
# apachectl -V | grep MPM
Server MPM: Prefork
-D APACHE_MPM_DIR="server/mpm/prefork"
A diretiva MaxClients define o limite do número de solicitações simultâneas que serão servido.
Any connection attempts over the MaxClients limit will normally be queued, up to a number based on the ListenBacklog directive. Once a child process is freed at the end of a different request, the connection will then be serviced.
Mas o ServerLimit
também coloca um limite máximo no número de processos que o apache criará para atender às solicitações.
For the prefork MPM, the ServerLimit directive sets the maximum configured value for MaxClients for the lifetime of the Apache process..
daí eu iria para algo como:
ServerLimit 1000
MaxClients 1000
Como alternativa, para os documentos ThreadLimit aqui
deFor the worker MPM, this directive in combination with ThreadLimit sets the maximum configured value for MaxClients for the lifetime of the Apache process. Any attempts to change this directive during a restart will be ignored
workers