Apache,mysql,WBB + Performance-Probleme

Apache, Lighttpd, nginx, Cherokee
Post Reply
d.m
Posts: 53
Joined: 2003-07-29 00:32
Location: Waltrop
 

Apache,mysql,WBB + Performance-Probleme

Post by d.m »

Hallo!
Also ich hab da ein "kleines" Problem. Ein Freund von mir hat einen Root-L Server bei 1&1 auf dem ein Forum läuft, u.a. mit folgender Software:
  • SuSE 8.1
    apache 1.3.27
    mysql 3.23.52
    Woltlab BurningBoard 2.1.1
Wenn der Apache und mysql neu gestartet werden, dann bleibt der Load für ein paar Stunden unter 1. Nach ein paar Stunden steigt der Load dann immer weiter an, es öffnen sich immer mehr httpd/mysql Prozesse (bei gleicher User-Zahl auf dem Board! ca. 30-50 User)

Code: Select all

 9:28pm  up  5:27,  1 user,  load average: 12.56, 10.26, 6.85
69 processes: 62 sleeping, 7 running, 0 zombie, 0 stopped
CPU states:  6.5% user,  3.9% system,  0.0% nice, 89.4% idle
Mem:   248500K av,  243892K used,    4608K free,       0K shrd,    1516K buff
Swap:  265064K av,  152784K used,  112280K free
Der Load bleibt dann bei diesen Werten stehen oder steigt sogar noch weiter an. Das Forum ist dadurch natürlich ziemlich langsam. Meistens hilft dann nur noch ein Neustart des Indianer. Ich versteh das nicht so recht, da die CPU-Auslastung doch relativ gering ist und auf der Swap-Partition auch noch was frei zu sein scheint.
Woran kann das liegen? Hab's schon mit einem ulimit versucht. Außerdem hab ich es mit verschiedenen Einträgen in den jeweilligen Configs ausprobiert. Allerdings ohne Erfolg. Hier mal ein Auszug aus den (aktuellen) Config-Dateien:
httpd.conf

Code: Select all

MaxKeepAliveRequests 150
KeepAliveTimeout 15
MinSpareServers 10
MaxSpareServers 15
StartServers 15
MaxClients 250
MaxRequestsPerChild 10000
my.cnf

Code: Select all

set-variable    = key_buffer=20M
set-variable    = max_allowed_packet=1M
set-variable    = table_cache=64M
set-variable    = sort_buffer=2M
set-variable    = net_buffer_length=8K
set-variable    = myisam_sort_buffer_size=8M
set-variable    = max_connections=250
log-bin
server-id       = 1
[isamchk]
set-variable    = key_buffer=20M
set-variable    = sort_buffer=20M
set-variable    = read_buffer=2M
set-variable    = write_buffer=2M
[myisamchk]
set-variable    = key_buffer=20M
set-variable    = sort_buffer=20M
set-variable    = read_buffer=2M
set-variable    = write_buffer=2M
Hat jmd. von Euch evtl. noch einen Vorschlag parat? Sind noch mehr Infos von Nöten?
Bin über jede Hilfe dankbar.

MfG
dm
[nix]pepe
Userprojekt
Userprojekt
Posts: 244
Joined: 2003-04-08 19:36
 

Re: Apache,mysql,WBB + Performance-Probleme

Post by [nix]pepe »

mehr arbeits speicher tät dir für die mysql db ganz gut tun, wennde gut 40-50 abfragen gleichzeitig hast...

:)

MfG
Pepe
d.m
Posts: 53
Joined: 2003-07-29 00:32
Location: Waltrop
 

Re: Apache,mysql,WBB + Performance-Probleme

Post by d.m »

Soweit war ich auch schon :wink:
[nix]pepe
Userprojekt
Userprojekt
Posts: 244
Joined: 2003-04-08 19:36
 

Re: Apache,mysql,WBB + Performance-Probleme

Post by [nix]pepe »

woher soll ich des wissen :P
majortermi
Userprojekt
Userprojekt
Posts: 916
Joined: 2002-06-17 16:09
 

Re: Apache,mysql,WBB + Performance-Probleme

Post by majortermi »

Wieviel Requests per second hat der MySQL-Server (lässt sich mit dem "status"-Kommando anzeigen)?
Welche Prozesse steht im "top" ganz oben?
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
d.m
Posts: 53
Joined: 2003-07-29 00:32
Location: Waltrop
 

Re: Apache,mysql,WBB + Performance-Probleme

Post by d.m »

Code: Select all

 1:40pm  up 21:39,  1 user,  load average: 5.73, 3.19, 2.27
79 processes: 77 sleeping, 2 running, 0 zombie, 0 stopped
CPU states: 33.2% user,  5.1% system,  0.0% nice, 61.6% idle
Mem:   248500K av,  244928K used,    3572K free,       0K shrd,    1280K buff
Swap:  265064K av,  149372K used,  115692K free                   39724K cache

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
19257 wwwrun     9   0  7872 6568  3708 S    10.3  2.6   0:01 httpd
19248 wwwrun     9   0  7704 6260  3732 S     6.7  2.5   0:02 httpd
20182 wwwrun    17   0 22876  16M  3036 D     5.1  6.6   2:27 httpd
19260 wwwrun     9   0  7140 5832  3716 S     1.9  2.3   0:01 httpd
19261 wwwrun     9   0  7988 6684  3728 S     1.5  2.6   0:01 httpd
19472 wwwrun     9   0  6764 5412  3476 S     1.5  2.1   0:00 httpd
Bei einer last von >10 sind es auch immer die Apache-Prozesse. Evtl. gesellt sich da mal ein mysql Prozess zu.

Code: Select all

Threads: 7  Questions: 393237  Slow queries: 318  Opens: 444  Flush tables: 1  Open tables: 406 Queries per second avg: 6.944
darth
Posts: 62
Joined: 2003-01-10 19:20
Location: Berlin/ ehem. Mönchengladbach
 

Re: Apache,mysql,WBB + Performance-Probleme

Post by darth »

Moin,

hat sich hier etwas ergeben, denn das selbe ist seit neuestem auch bei mir der Fall :(

~10 httpd Prozesse mit ~40MB Speicherbelegung und schon ist der Server auf der Auslagerungspartition unterwegs :(

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

Re: Apache,mysql,WBB + Performance-Probleme

Post by oxygen »

Da empfehlen sich folgende Schritte:

Persistent Connections deaktivieren.
Den alten Apache durch Apache2 mit Worker oder Leader-MPM ersetzten, und nur die nötigsten Module laden. Am besten selbst kompilieren.
PHP selbst kompilieren, wieder nur mit den nötigsten Modulen. Auf eine aktuelle MySQL Client Libary achten.
MySQL auf Version 4 aktuallisieren und den QueryCache aktivieren.
swosher
Posts: 48
Joined: 2002-11-27 12:46
 

Re: Apache,mysql,WBB + Performance-Probleme

Post by swosher »

Ich würde evtl. auch noch die MaxRequestsPerChild runtersetzen...

das bringt einiges wenn du hier die Anzahl verringerst, dann hast du durch die Persistent Connection und unsauberen Code keine Probleme.

Dann evtl. die MinSpare und die MaxSpare Servers Rauf setzen, dann braucht er nicht so schnell neue nachladen. Wenn du die MaxKeepAliveRequests auch noch runterschraubst, müssen zwar öfters prozesse nachgestartet werden, aber wenn du MinSpare auch hochgesetzt hast sollte das nicht so das Problem sein.

Ansonsten wirklich überlegen auf Apache 2 umzustellen... weil mehr speicher einbauen is ja nicht so einfach drin ...

Achja die Tip's mit den unnötigen Module entfernen is auch noch ganz gut !

Swosher
Post Reply