Mailinglisten-Archive |
Hi Andreas, ich muß doch noch mal nachfragen: > ... wieviel Speicher hat die Kiste denn? > Wenn ich die top-Ausgabe unten richtig deute, nur 128 MB? Genau. > > Die Einstellungen sind im Moment > > MinSpareServers 300 > ... das sind dann mind. 300 Apache-Prozesse, die jeweils > knapp 5,5 MByte gross sind. 300 * 5,5 MByte macht dann ca. > 1,5 Gigabyte ... 5,5 MB pro process? Ist das nicht ein bißchen happig? Fakt ist, daß die Sache viel besser läuft, seit ich die Werte wieder runter habe. Aber das Problem ist nicht weg. Ich wollte den Bedarf mit KKs Formel berechnen (aus http://www.koehntopp.de/kris/kris/artikel/webtune/): $ server=`grep -l httpd /proc/*/cmdline` $ for i in $server; do cat `dirname $i`/statm; done aber tcsh sagt syntax error, und ich kann den nicht finden. Er rechnet übrigens bei seinem Beispiel mit 100-150 KB pro Prozess. Bei 128 MB muß man also reichlich Luft haben. Er rechnet dann auch mit Hunderten, die gleichzeitig laufen. Nun habe ich beobachtet, daß Mem used bei etwa 60000 liegt, wenn ich den httpd abschieße und neu starte, dann klettert der aber schnell auf 110000 rauf und bleibt da normalerweise ziemlich stabil. Eben habe ich etwas entdeckt: ich hatte früher httpd Prozesse, die alle Resourcen nahmen und nicht starben. So einen hatte ich jetzt, der lebte schon 20 Minuten. Dabei habe ich httpd Timeout auf 60 gesetzt. Wenn ich 10 oder so davon hatte, war die Kiste früher tot (mit anderen Einstellungen). Jetzt konnte ich CPU usage nicht sehen, weil ich top mit Option q laufen lasse, um alles mitzukriegen. Kurz: ich habe ihn gekillt. Dann kamen mir Bedenken - vielleicht war das in Ordnung? Vom alten Host weiß ich, daß regelmäßig User wahnsinnig lange drin waren, und habe geschlossen, daß das wohl SE waren, die sich alles gezogen haben. Fireball und Google z.B. habe Tausende von Seiten indiziert. Kann man im Protokoll vielleicht auch nachvollziehen: wenn eine IP in derselben Minute 5 Bestellformulare für Bücher aufzieht - das kann nicht ein Besucher sein, und 5 mit derselben IP von AOL? Wenn ich nun einen Test mache und eine Seite aufziehe, die deutlich lange braucht, bis der Browser alles geladen hat - die sehe ich in top praktisch gar nicht, so schnell geht das. Genauso mit mysql - ist normalerweise nicht zu sehen, obwohl jede Seite mehrfach die db befragt. Ich habe auch schon 20 x refresh gemacht, ohne daß was passierte. Wenn der aber mit den Prozessen hochgeht (normal 65-70 jetzt) und auf 80, 90 100 kommt, ist es zu spät, dann geht der in den swap und erholt sich nicht mehr. Im Moment hat er z.B. 65 Prozesse und 85000 used. Es ist nichts los, so etwa 1 httpd pro Sekunde. Wie muß ich das verstehen: wenn ich eine Seite aufrufe, sind das ja mehrere hits. Der macht also nicht für jeden hit/request einen Prozeß auf? Was passiert, wenn eine SE saugt? Braucht die einen Haufen Prozesse oder macht die das mit einem ab, der eben lange läuft? Jetzt habe ich z.B. ziemliche Ruhe, vielleicht 1 httpd pro 2 Sekunden, 67 Prozesse und 124 K used - da ist der schon fast an der Grenze. Was ist da los? Haben wir einfach zu wenig Memory? Jetzt ist er runter auf 61 Prozesse und 105000, jetzt bei 68 und 120000 - ich beobachte das jetzt mit top normal (alle 5 sec) und sehe keinen direkten Zusammenhang - dieselbe Anzahl Prozesse kann unterschiedlichen Speicher benötigen. Aber klar ist, daß der vermutlich so bei 75 Prozessen Probleme kriegt. Ich habe keinen Prozeß mit Status D, entweder sind die Running oder Idle. Jetzt baut der wieder ab, ist bei 66 / 110000. Load average ist übrigens 0,05/0,33/0,76 Hat jemand Erfahrung damit? -- Mit freundlichem Gruss Dr. Werner Stuerenburg _________________________________________________ ISIS Verlag, Teut 3, D-32683 Barntrup-Alverdissen Tel 0(049) 5224-997 407 · Fax 0(049) 5224-997 409 http://pferdezeitung.de http://art-quarter.com
php::bar PHP Wiki - Listenarchive