server reached MaxClients setting?

Frank Burian

New Member
Hallo,

ich erhalte im Error.log diese Meldung
Code:
server reached MaxClients setting, consider raising the MaxClients setting
und danach hat mein Server erstmal fast eine halbe Stunde nicht erreichbar, wenn ich den Apache nicht neu starte!

MaxClients steht auf 150, lässt sich aber nicht erhöhe, da Apache sagt, dass er nur 150 max. zu lässt.

Was kann ich tun. Ich hab alle Zugriff mal mit geloggt - weil ich dachte, dass es vielleicht eine DoS-Attacke ist, aber nein es ist der Google-Bot!

Wie kann ich diese Überlastung verhindern, will den Google-Bot aber auch nicht ausschließen, weil ich brauch ihn ja, und leb ja davon ;O)

Danke
 
Hallo!
Wieso kannst du die Anzahl nicht erhöhen? Gibt es eine Fehlermeldung? Kontrolliere ggf. die Einstellung ServerLimit. Siehe auch mpm_common - Apache HTTP Server.

Zur GoogleBot:
Code:
[COLOR=black]User-agent: googlebot [/COLOR]
[COLOR=black]Crawl-delay: 10[/COLOR]
In die robots.txt einfügen. Damit legt Google eine Wartepause von 10 Sekunden zwischen den einzelnen Zugriffen ein.

mfG
Thorsten
 
Danke.

Naja, ServerLimit ist in meiner httpd.conf nicht gesetzt! Ich nehm mal an dann wird ein Standard-Wert genutzt. Hättest du einen Vorschlag was das ServerKLimit angeht? Vielleicht 10000?

Das mit der robots.txt funktioniert nicht. Hab es durch Google mal testen lassen:
Code:
Zeile 2 :  Crawl-delay: 10 	Regel wird von Googlebot ignoriert

Auf so eine Lösung in der robots.txt hab ich gehofft :(
 
Hallo!
Ich habe noch nicht verstanden, warum du MaxClients nicht erhöhen kannst.

Edit: Wie sieht die Einstellung MaxRequestsPerChild aus?

mfG
Thorsten
 
Weil ServerLimit nicht gesetzt war. Jetzt hab MaxClients mal auf 500 erhöht. Mal sehen obs nun geht.
Aber eine Möglichkeit, den Google-Bot bissl auszubremsen, wäre nicht schlecht.

In den Webmaster-Tools von Google kann ich zwar sagen, dass der GoogleBot langsam crawlen soll, aber mir kann dann auch keiner genau sagen, wie langsam wirklich.

Ich würde den Bot gern ausbremsen wollen, wenn die Serverlast zu hoch ist.

Was auch gut wäre, wenn jemand eine Idee für ein Script hätte, der das error.log nach eine AKTUELLEN "server reached MaxClients setting" absucht, und wenn es aufgetreten ist, den Apache einfach neu startet.

Danke!
 
Ich würde den Bot gern ausbremsen wollen, wenn die Serverlast zu hoch ist.
Schau mal ein paar Posts weiter oben, da hat thorsten das ziemlich genau erklärt, und dir auch einen Lösungsansatz gepostet.

Was auch gut wäre, wenn jemand eine Idee für ein Script hätte, der das error.log nach eine AKTUELLEN "server reached MaxClients setting" absucht, und wenn es aufgetreten ist, den Apache einfach neu startet.
Grep ist dein Freund.
Code:
cat /var/log/apache2/error.log | grep 'reached MaxClients'
 
OT:

@Mordor: den "Useless use of cat"-Award, den ich unter u.s. link von LinuxAdmin erhalten habe, reiche ich dann mal an Dich weiter ;)

-W
 
OT:
Danke ;-)
Und was gibts dafür? Der erste Preis sollte ja die Erklärung einer eleganteren Methode sein :D
 
@Mordor

Meinst du die Google-Bot-Variante? Wenn ja, ich hatte auch schon gesagt, dass das bei Google nicht funktioniert.

Das mit dem Grep ist ja schön und gut, nur müsste ich dann jedes mal mein error.log löschen, wenn ich denn apache neustart.
 
Back
Top