Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am running Apache 2 on a Linux Debian machine (Kernel 2.6, Debian 5) with 3GB of RAM. This server should handle approximately 200 Million requests per 24 hours. Can anyone tell me what should be the values of the following mpm_prefork parameters that can suite this load ? The parameters I am seeking to set are:

  1. ServerLimit
  2. StartServers
  3. MinSpareServers
  4. MaxSpareServers
  5. MaxClients
  6. MaxRequestsPerChild

I would also like to know what should be the value of: MaxKeepAliveRequests parameters.

10x in advance

share|improve this question

1 Answer 1

You are going to run out of ram before you will be able to server a Million requests. How large are you apache client processes? I bet over 10MB (probably 25MB). You server could probably only handle 250 clients if the clients were only 10MB.

Might try lighttpd with fast-cgi.

To answer you question you would need to edit the mpm.conf files /etc/apache2/modules.d/00_mpm.conf for me, but im on gentoo so it will be a bit diffrent depending on the distro of linux you are using. But in that config there is a secion for prefork

Here is mine for a server with 12Gb of ram. (and we load balance the sites of 20 identical servers)

<IfModule mpm_prefork_module>
        StartServers            100
        MinSpareServers          5
        MaxSpareServers         200
        ServerLimit             375
        MaxClients              375
        MaxRequestsPerChild      0
</IfModule>
share|improve this answer
    
I would like to mention that the purpose of this server is to log the requests to the access log so they would in turn be downloaded by some other server and get written in database. The requests them selves don't invoke any server side scripts what so ever ... The average memory of each apache2 process is approx. 9 MB –  explodec14 Jul 23 '10 at 14:41
    
Thaks for the comment. Its hard to tell sometimes if the requesters doesn't under stand what they are asking for or are they in some crazy special situation that would just take too long to explain. What Distro of linux are you using? –  The Digital Ninja Jul 23 '10 at 14:43
    
I am using Debian. I would like also to mention again that this server purpose is only to log these request. and that all there is to it. –  explodec14 Jul 23 '10 at 14:47
    
I don't know if i would go about logging the request by directing to clients through an apache server. Why not have a server scrape the access_log from the other webservers? –  The Digital Ninja Jul 23 '10 at 14:51
    
@The Digital Ninja:I FORGOT TO SAY THAT THIS SERVER IS ONE OF TWO IDENTICAL SERVERS AND BOTH OF THEM BEHIND LOAD BALANCER !!! –  explodec14 Jul 23 '10 at 14:52

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.