Kategorien
Geeky In eigener Sache Statistik

eAccelerator und Apache (Benchmarks)

Mit dem Umzug auf den neuen Server musste ich ein paar Optimierungen wieder neu einstellen. So zum Bespiel den Query Cache von MySQL und auch einen Beschleuniger für PHP, der die Skripte schon mal jeweils vorkompiliert damit das nicht jedes mal zur Laufzeit geschehen muss. Früher haben wir da Turck MMCache verwendet, aber jetzt wollte ich mal was neues ausprobieren. Also her mit eAccelerator und schon gab es Probleme.

Scheinbar darf man PHP nicht mit „–enable-versioning“ kompilieren. Zwar funktioniert der Beschleuniger dann in der PHP-CLI Version (also direkt auf der Konsole), aber nicht mit mod_php. Das error_log war voll von Fehlern der Art:

Failed loading /usr/lib/extensions/no-debug-non-zts-20060613/eaccelerator.so: 
/usr/lib/extensions/no-debug-non-zts-20060613/eaccelerator.so: 
undefined symbol: _zval_ptr_dtor

Ohne obigen Parameter funktioniert es wunderbar.

Beispiel von mir zu Hause aus (DSL3000, denn die Übertragungsgeschwindigkeit spielt ja auch eine nicht kleine Rolle):

ab2 -n 40 -c 5 http://www.sebbi.de/
Requests per second:    4.81 [#/sec] (mean)
Time per request:       1040.516 [ms] (mean)
Time per request:       208.103 [ms] (mean, across all concurrent requests)
Transfer rate:          221.64 [Kbytes/sec] received

ab2 -n 40 -c 5 http://www.cappellmeister.com/
Requests per second:    5.98 [#/sec] (mean)
Time per request:       836.513 [ms] (mean)
Time per request:       167.303 [ms] (mean, across all concurrent requests)
Transfer rate:          355.49 [Kbytes/sec] received

Ohne eAccelerator lagen die Anfragen pro Sekunde bei 2.5 bzw. 3.5 beim Cappellmeister, also fast eine Verdopplung der Geschwindigkeit ;-)

Direkt auf dem Server selbst ausgeführt (also ohne Wartezeiten durch den Transfer) erhält man:

ab2 -n 40 -c 5 http://www.sebbi.de/
Requests per second:    5.74 [#/sec] (mean)
Time per request:       870.617 [ms] (mean)
Time per request:       174.123 [ms] (mean, across all concurrent requests)
Transfer rate:          264.18 [Kbytes/sec] received

ab2 -n 40 -c 5 http://www.cappellmeister.com/
Requests per second:    7.28 [#/sec] (mean)
Time per request:       686.481 [ms] (mean)
Time per request:       137.296 [ms] (mean, across all concurrent requests)
Transfer rate:          431.55 [Kbytes/sec] received

Mein Blog scheint also Plugins zu benutzen, die es deutlich langsamer machen als das Cappellmeister-Blog … wie sieht es mit statischem Content aus? (Wann macht er nur endlich mal ein Blog? Wann trinkt er Alkohol? Beides gleichzeitig? *g*). Von zu Hause aus (wieder DSL3000):

ab2 -n 40 -c 5 http://www.bonsay.de/
Requests per second:    37.20 [#/sec] (mean)
Time per request:       134.408 [ms] (mean)
Time per request:       26.882 [ms] (mean, across all concurrent requests)
Transfer rate:          247.38 [Kbytes/sec] received

Auf dem Server selbst:

ab2 -n 40 -c 5 http://www.bonsay.de/
Requests per second:    2619.17 [#/sec] (mean)
Time per request:       1.909 [ms] (mean)
Time per request:       0.382 [ms] (mean, across all concurrent requests)
Transfer rate:          17875.85 [Kbytes/sec] received

Der Vergleich hinkt ein wenig, da Bonsays Indexseite nur 6566 Bytes groß ist, während meine 46892 und Cappellmeisters 60444 Bytes groß sind. Aber egal … es flutscht und flutscht … unser neuer Server ist schnell und sollte also einen Digg oder Slashdot Effekt halbwegs wegstecken können ;-)

3 Antworten auf „eAccelerator und Apache (Benchmarks)“

Die fummeln ständig an den Preisen und haben alle drei Monate neue Angebote. Die Dualcore Opterons haben sie ins Programm genommen ungefähr eine Woche nachdem ich das Upgrade beantragt hätte. Glück gehabt, sag ich da nur. Für den Preis den S4Y nun verlangt, bekommt man aber inzwischen woanders was besseres. Mal schaun wann ich Mephesar aufrüste, so ein gespiegeltes RAID wär schon was!

Kommentare sind geschlossen.