I have a web server with 16 GB of RAM. The server has a good traffic and have pics of 300 simultaneous requests.
Unfortunately when these peaks arrive queries fall into error or are very very slow.
When I look at the ram used on my server via the free command, it never exceeds 4-5 GB and the CPU load is on average 10%.
total used free shared buffers cached
Mem: 16392540 4820632 11571908 0 356120 1948920
-/+ buffers/cache: 2515592 13876948
Swap: 1049596 0 1049596
Here is my Apache 2 prefork configuration :
StartServers 32
MinSpareServers 32
MaxSpareServers 64
ServerLimit 512
MaxClients 512
MaxRequestsPerChild 0
Timeout 15
KeepAlive On
MaxKeepAliveRequests 150
KeepAliveTimeout 3
I would like to allow Apache to use more ram to handle all requests and not be overloaded. But even if I change the configuration, it does not seem to have any effect on memory usage.
I said that my server uses plesk.
I also use a MySQL database but containing only a table and a few records.
Do you have any idea?
Thanks for your help.
Martin