Performance Tuning und Ermittlug Mysql PHP Apache
MatzeAug
- webserver
0 MatzeAug
Hellas,
hat jemand gute Tips und ggf. weiss tools zur Performance Analyse / Monitorung bezüglich Mysql Apache und PHP?
Am besten wären Webbasierte Tools, sodass man die Performancmessung des Systemes online abrufen kann.
Auch ggf. links zu artikel bezüglich des Performance Tunings wären schön.
Aktuelles Problem ist wie folgt:
Auf einem Server läuft eine PHP Anwendung mit anbindung an ein mysql system.
Datenbank Version: 4.1.10a
PHP Version: 4.3.10
Web Server: Apache/2.0.53
Zeitweise kommt es zu ausfällen, wenn bestimmte User es schaffen mehrer Request ~ 2 -3000 innerhalb von 20 Sekunden auf das System abzusenden.
Das System selbst jedoch ist nicht ausgelastet.
Der Fehler der auftritt, verweist darauf, dass die DB nicht angeprochen werden kann.
Die DB und apache Prozesse sind jedoch vorhanden und das System meldet selbst noch bis zu 50 - 60% idle.
Überlastet kann es eigentlich nicht sein.
Eine Beschränkung der Sitzungen/Verbindungen zur Datenbank gibt es nicht. Es wird eine socketverbindung zur DB geöffnet.
Ggf, hat ja jemand Tips, wie man dem Problem auf die schliche kommen kann und die komponenten noch besser debugt.
Oder kennt jemand derartiges Verhalten und weiss eine Lösung?
Gruss Matze
Das Problem konnte mehr oder minder gelöst werden.
Zumindest trat das Problem seit folgenden Änderungen der Apache Konfiguration nicht mehr auf.
Konfiguration alt:
<IfModule prefork.c>
# number of server processes to start
StartServers 5
# minimum number of server processes which are kept spare
MinSpareServers 10
# maximum number of server processes which are kept spare
MaxSpareServers 20
# highest possible MaxClients setting for the lifetime of the Apache process.
ServerLimit 25
# maximum number of server processes allowed to start
MaxClients 25
# maximum number of requests a server process serves
MaxRequestsPerChild 0
</IfModule>
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 15
Konfiguration neu:
<IfModule prefork.c>
# number of server processes to start
StartServers 15
# minimum number of server processes which are kept spare
MinSpareServers 15
# maximum number of server processes which are kept spare
MaxSpareServers 30
# highest possible MaxClients setting for the lifetime of the Apache process.
ServerLimit 50
# maximum number of server processes allowed to start
MaxClients 50
# maximum number of requests a server process serves
MaxRequestsPerChild 3000
</IfModule>
KeepAlive On
MaxKeepAliveRequests 3000
KeepAliveTimeout 15