Assuming you have enough RAM to serve the requests, and you are using the prefork multi-processing module, you can use the 2 directives
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
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.
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;
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