Apache2 langsam server-status!!!

Apache, Lighttpd, nginx, Cherokee
tischi
Posts: 215
Joined: 2003-10-26 17:57

Apache2 langsam server-status!!!

Post by tischi » 2007-07-31 21:35

Habe gerade mal wieder naja ein recht langsamen apache2 am laufen, dass es der apache sein muss, ist klar, keine mysql slow querys im log,500MB free ram, ^^ kein swap. Nun habe ich heute mal mein server-staus akitivert und siehe da:

Code: Select all

24.3 requests/sec - 190.6 kB/second - 7.9 kB/request 
150 requests currently being processed, 0 idle workers 
KKKCKKKKKKKKKKKKKKKKKKKKK.......................................
KKKKKKKKKKKKKKKKKKKKKKKKK.......................................
KKKKKKKKKKKKKKKKKKKKKKKKK.......................................
KKKKKKKKKKKKKKKKKKKKKKKKW.......................................
KKKKKWKKKKKKKKKKKKKKWKKKK.......................................
KKKKKKKKKKKKKKKKKKKKKKKKK.......................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
................................................................
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process
Die sache ist halt, dass es doch recht lange dauert bist die seite aufgebaut ist, teilweise ich sag mal 10 sek.

Settings im apache2

Code: Select all

<IfModule worker.c>
StartServers         2
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

Auf meinem Portal sind einige leute unterwegs ^^ das nur mal vorweg.

Es liegt doch am apache oder mit fällt schon den ganzen tag dieses muster im Scoreboard auf, und gerade jetzt ist überall ein K bis auf kleine ausnahmen, der "." sagt ja eigentlich open slots zu, aber warum werden diese nicht belegt und nur diese paar felder??

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Apache2 langsam server-status!!!

Post by Roger Wilco » 2007-07-31 21:40

Tischi wrote:Es liegt doch am apache oder mit fällt schon den ganzen tag dieses muster im Scoreboard auf, und gerade jetzt ist überall ein K bis auf kleine ausnahmen, der "." sagt ja eigentlich open slots zu, aber warum werden diese nicht belegt und nur diese paar felder??
Zähl doch einfach mal die Buchstaben und vergleiche die Anzahl dann mit deiner MaxClients-Einstellung...

Außerdem relevant:
http://httpd.apache.org/docs/2.0/mod/co ... ivetimeout
http://httpd.apache.org/docs/2.0/misc/perf-tuning.html

tischi
Posts: 215
Joined: 2003-10-26 17:57

Re: Apache2 langsam server-status!!!

Post by tischi » 2007-07-31 21:41

oh was bin ich blind:

Code: Select all

150 requests currently being processed, 0 idle workers 
-->

Code: Select all

MaxClients         150 
habe es mal erweitert muss halt schaun hab mal 400 eingegeben...

Intel Pentium D 930 2x3Ghz
2GB RAM
200GB SATA2 auf ASUS board.

mysql config wie hier empfolen...

EDIT: roger warst schneller, achja keine minute nach nem restart:
197 requests currently being processed, 28 idle workers
schaut schon besser aus.

tischi
Posts: 215
Joined: 2003-10-26 17:57

Re: Apache2 langsam server-status!!!

Post by tischi » 2007-07-31 22:14

mal ne ganz blöde frage, aber was bringen die ganzen Min/MaxSpareThreads von 25/75 wenn eh nur maximal 150 anfragen kommen können? Oder liegt das mehr oder weniger ander Timeout Zeit?

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Apache2 langsam server-status!!!

Post by oxygen » 2007-07-31 23:04

Im übrigen wollte Roger Wilco darauf hinweisen, dass es wahrscheinlich Sinn macht den KeepAliveTimeout runter zu setzten. Ich würde 3 Sekunden vorschlagen. Dann müssen nicht ganz so viele Threads/Prozesse offen sein.

Außerdem kann es sinnvoll sein, den ThreadsPerChild Wert zu justieren. Ein niederigere Wert bringt möglicherweise mehr Performance, erhöht allerdings wiederrum den Speicherverbrauch.

Ich habe in Moment auf einem ähnlichen Server folgende Werte, ausgelegt auf hohe Auslastung:

Code: Select all

Timeout              10
MaxKeepAliveRequests 200
KeepAliveTimeout     5

StartServers         5
MaxClients           100
MinSpareThreads      50
MaxSpareThreads      100
ThreadsPerChild      20
MaxRequestsPerChild  20000

tischi
Posts: 215
Joined: 2003-10-26 17:57

Re: Apache2 langsam server-status!!!

Post by tischi » 2007-08-08 21:18

habe da nochmal eine frage zu KeepAliveTimeout,
ich beteibe eine sehr gut besucht seite.
Auf der Seite wird eine Online user list e via Ajax ständig (alle 25 Sekunden) Aktualisert. Das Treiben am abend liegt so bei 95 Usern. 11.9 requests/sec.

was würdet ihr für eine KeepAliveTimeout vorschlagen? kürzen?