configure httpd.conf to accept 1,000 connctions - How
Assuming you have enough RAM to serve the requests, and you are using the prefork multi-processing module, you can use the 2 directives MaxClients
and ServerLimit
to set the total number of simultaneous requests that will be served;
To check for prefork run apachectl -V | grep MPM
and look for the following output;
# apachectl -V | grep MPM
Server MPM: Prefork
-D APACHE_MPM_DIR="server/mpm/prefork"
The MaxClients directive sets the limit on the number of simultaneous requests that will be served.
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.
But the ServerLimit
also puts a maximum limit on the number of processes that apache will spawn to serve requests.
For the prefork MPM, the ServerLimit directive sets the maximum configured value for MaxClients for the lifetime of the Apache process..
hence I would go for something like;
ServerLimit 1000
MaxClients 1000
Alternatively for For 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 ThreadLimit docs here
Related videos on Youtube
edotan
Updated on September 18, 2022Comments
-
edotan almost 2 years
I would like to edit my httpd.conf to accept max of 1,000 clients connections. this is what I have now:
StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0
How should I edit it?