Hi,
hat jemand Erfahrung, ob folgender Wert gut oder schlecht ist:
Ein Intel Celeron 2,4, 512 MB Ram, php Script mir DB Anfrage (ca 5 select, 1 update, locked, Anzahl der DB Daten schwankt sehr stark), php als cgi und suexec, mysql auf dem gleichen Server: Bei ca 19 Aufrufen des Scripts / Sekunde ist Schluss
Gut oder schlecht?
Performance PHP Skript
-
alexander newald
- Posts: 1117
- Joined: 2002-09-27 00:54
- Location: Hannover
- Contact:
Re: Performance PHP Skript
Ich würde sagen schlecht. Normal sollten 50-100 Abfragen pro Sekunden drin sein. Wahrscheinlich ist der LOCK schuld.
Re: Performance PHP Skript
Wie viele Sekunden dauert denn ein Scriptaufruf?
Wird innodb oder myisam verwendet bei der Datenbank?
Solche Scripte sollten je nach Komplexität zwischen 0,01 und 0,1 Sekunden Process Time liegen. Gerade bei komplexeren Updates könnte es durchaus sein, dass nach 20 Aufrufen pro Sekunde Schluss ist.
Natürlich sollte man den Overhead des PHP-CGIs auf keinen Fall unterschlagen. 20 Mal das PHP Binary zu starten (+apache,suexec, usw overhead) kostet ebenfalls nicht wenig CPU. Genauere Details findest du in meinem Apache2-Fastcgi HowTo, wo ich genau auf dieses Problem eingehe.
Wird innodb oder myisam verwendet bei der Datenbank?
Solche Scripte sollten je nach Komplexität zwischen 0,01 und 0,1 Sekunden Process Time liegen. Gerade bei komplexeren Updates könnte es durchaus sein, dass nach 20 Aufrufen pro Sekunde Schluss ist.
Natürlich sollte man den Overhead des PHP-CGIs auf keinen Fall unterschlagen. 20 Mal das PHP Binary zu starten (+apache,suexec, usw overhead) kostet ebenfalls nicht wenig CPU. Genauere Details findest du in meinem Apache2-Fastcgi HowTo, wo ich genau auf dieses Problem eingehe.
-
alexander newald
- Posts: 1117
- Joined: 2002-09-27 00:54
- Location: Hannover
- Contact:
Re: Performance PHP Skript
Wenn ich mir die Prozessliste anschaue, sieht es aus, als würde es sich derart aufschaukeln, dass manchmal keine Anfragen in die DB sind und dann viele auf einmal. Es stehen dann zuerst viele Connect/Login und dann ein Update und viele Update gelockt in der mySQL Prozessliste. DB ist myisam.