Sometimes you can see next message in your access log

[error] server reached MaxClients setting, consider raising the MaxClients setting
[error] server is within MinSpareThreads of MaxClients, consider raising the MaxClients setting

This means that Apache can’t open new connection and it should be somehow tuned. First of all you have to check how much your server can be loaded. This depends from few factors. Here you can find script which will help you to increase MaxClients.

#!/bin/bash
MEM_LIMIT=$(free | grep -i mem | awk '{print $2}')
MAX_CLIENTS=$(if [ $(httpd -V | grep "Server MPM:" | awk '{ print $3 }') == 'Prefork' ]; then echo "$(grep -c proc /proc/cpuinfo) * 200" | bc; else echo "$(grep -c proc /proc/cpuinfo) * 300" | bc; fi)
THREAD_STACK_SIZE=$(ulimit -s)
echo "System Memory Limit: $MEM_LIMIT"
echo "System Thread Stack Size: $THREAD_STACK_SIZE"
echo "Max Clients Setting: $MAX_CLIENTS"
echo "Max Memory Needed for Optimal configuration: $(echo "$MAX_CLIENTS * $THREAD_STACK_SIZE" | bc) bytes"

if [ $MEM_LIMIT -gt $(echo "$MAX_CLIENTS * $THREAD_STACK_SIZE" | bc) ]; then
echo "You have Enough RAM to reach the optimal configuration."
else
echo "You can not reach the optimal configuration because of the amout of RAM your system has."
fi

Note that MaxClients is optimal at 200 * (number of cores) for prefork module, and that it is 300 * (number of cpu cores) for worker module.

Also take care that in prefork module you have to change MaxClients and ServerLimit to same value.

To test your limitations you can run next command

[root@setenforce ~]# ab -c 1024 -n 1024 http://127.0.0.1/index.php