Hi everybody and congratulations by site, very helpfult. First of all, i don't know if this is the properly forum to my question. Is about a tutorial about "Tunning and performance Apache":
http://www.devside.net/articles/apache-performance-tuning I found your web through
MySQL Performance Blog.
MaxClients ≈ (RAM - size_all_other_processes)/(size_apache_process)
Use 'ps -ylC httpd --sort:rss' to find process size. Divide number by 1024 to get megabytes. Also try 'top'.
Use 'free -m' for a general overview. The key figure to look at is the buffers/cache used value.
Use 'vmstat 2 5' to display the number of runnable, blocked, and waiting processes; and swap in and swap out.
Example:
* System: VPS (Virtual Private Server), CentOS 4.4, with 128MB RAM
* Apache: v2.0, mpm_prefork, mod_php, mod_rewrite, mod_ssl, and other modules
* Other Services: MySQL, Bind, SendMail
* Reported System Memory: 120MB
* Reported httpd process size: 7-13MB
* Assumed memory available to Apache: 90MB
Optimal settings:
* StartServers 5
* MinSpareServers 5
* MaxSpareServers 10
* ServerLimit 15
* MaxClients 15
* MaxRequestsPerChild 2000
I don't understand how author of tutorial find the exaclty number to MaxClients. We know the total amount of RAM, and the total amount used by APACHE.
APACHE = 7-13 MB (totally?)
RAM = 128 MB
REST OF SO= ???
Max Clients = 15
How you discover the exactly or properly value for Max Clients? My first doubt is how to find the total amount in memory of all process that are not httpd childs, to make the correct formula.
Great tutorial! Thanks.