Server seems busy - Einstellungen

jackwhite

New Member
Hallöchen,

wir haben zwei Hetzner EQ9-Maschinen

i7-975 Extreme Edition + HT
12GB Ram

Nach dem Neuaufsetzen einer Maschine (Festplattenschaden) muckt der Apache nun rum (error.log: Server seems busy).

Er muss so ca. 15 bis 20.000 Unique Users am Tag handeln. Er rät die Einstellungen zu ändern. Diese sehen momentan so aus:

Code:
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
#    MaxRequestsPerChild 500
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>

Und da muss ich einfach mal passen. Ich weiß nicht, wie weit ich ihn belasten kann und daher wollte ich mal nach Erfahrungen fragen.

Grüße
 
Ist der Apache als Worker oder als MPM konfiguriert? Du has beides eingestellt aber nicht verraten welches nun gilt ;)
 
Ich habe es so aus der apache2.conf kopiert :confused:

Es war die Standardinstallation nach dem Crash, also habe ich da nichts geändert bislang. Wo genau muss ich denn nachsehen?

Danke!
 
Läuft der Apache denn als Prefork oder Worker?

MinSpareServers mal auf 10, MaxSpareServers auf 15 erhöhen. MaxClients auf 200 raufsetzen, aber das wird in diesem Fall nicht das Problem sein.

Denke mal, dass der Server nicht genug Leerlaufprozesse vorhält und deshalb bei plötzlich steigenden Nutzerzahlen nicht nachkommt.
 
Hier mal der aktuelle Auszug (Meldung kommt alle 15 Minuten ca.)

Code:
[Sun Jan 23 18:58:58 2011] [info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 0 idle, and 19 total children
 
...you may need to increase StartServers, or Min/MaxSpareServers...

Das spielt meinem Lösungsansatz doch recht gut in die Karten ;-)

Einfach mal die Werte leicht anheben, wie von mir vorgeschlagen, und dann abwarten - wie stark deine Besucherzahlen genau schwanken und welche Werte daher Sinn machen und welche nicht, kann man natürlich als Außenstehender schwer beurteilen.

Wenn da nur das eine Projekt drauf läuft, kannst du mit 12GB Arbeitsspeicher die Werte deutlich anheben. Z.B. so:

Code:
<IfModule mpm_prefork_module>
    StartServers          10
    MinSpareServers       40
    MaxSpareServers      50
    MaxClients          300
    MaxRequestsPerChild   2000
</IfModule>

Damit hält dein Apache zu jeder Zeit mindestens 40 Leerlaufprozesse bereit, sodass entsprechende Besuchersprünge locker weggesteckt werden können.
 
Es sind zwar mehrere Projekte, aber das Besucheraufkommen ist i.d.R. immer ähnlich (bis 25.000 Uniques / Tag). Ich habe die Anpassungen jetzt mal so vorgenommen.
 
Back
Top