TYPO3 Performance Optimierung & Loadtest

Wir haben die besten und neuesten Extensions zum Thema Performance-Optimierung in TYPO3 getestet und haben nützliche Erkenntnisse gesammelt:

Die Extension dmc_highPerformance halbiert die Anfragezeiten im hochlastige Bereich. Sie…

  1. …arbeitet mit dem PEAR package Cache, welches die Ausgabe von TYPO3 zwischenspeichert.
  2. …verändert die Kernklassen für den Datenbankzugriff zuständig ist. Hier werden Blokaden aufgehoben, die MySQL QueryCache behindert.
  3. Optimiert Server Clustering, konnte noch nicht getestet werden.

Gemessene Requestzeiten ohne dmc_highPerformance (Zu lesen: x Prozent der Anfragen kamen in Y ms zurück, Einstellung: 10*100 Unique Requests gleichzeitig)

50% 25653
66% 28823
75% 30325
80% 31251
90% 33448
95% 34627
98% 36495
99% 55739 (longest request)

Mit der Extension wird die Ladezeit etwa halbiert:

50% 13884
66% 18547
75% 20057
80% 20973
90% 23243
95% 23442
98% 23592
99% 23607
100% 23607 (longest request)

Loadtesting

Eine einfache Möglichkeit, seinen Server und die daraufliegende Seite in Punkto Schnelligkeit zu testen.

Auf einem Linux Rechner mit installiertem Apache sollte das Tool kb mitdabei sein. Damit kann man schnell und einfach Performance-Optimierunten austesten, oder verschiedene Server vergleichen.

Shell Befehl:

vs4401:~#ab -n 1000 -c 100 http://blog.marit.ag/ (1000 Anfragen, davon jeweils 100 Gleichzeitig)

Ausgabe der Shell:

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking blog.marit.ag (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests

Server Software: Mittwald
Server Hostname: blog.marit.ag
Server Port: 80

Document Path: /
Document Length: 25454 bytes

Concurrency Level: 100
Time taken for tests: 101.638710 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 0
Total transferred: 25666000 bytes
HTML transferred: 25454000 bytes
Requests per second: 9.84 [#/sec] (mean)
Time per request: 10163.871 [ms] (mean)
Time per request: 101.639 [ms] (mean, across all concurrent requests)
Transfer rate: 246.60 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 1 55 399.1 2 3005
Processing: 3492 9386 2595.7 9092 28679
Waiting: 556 3952 1375.6 3800 22902
Total: 3494 9442 2625.9 9159 28681

Percentage of the requests served within a certain time (ms)
50% 9159
66% 10088
75% 10729
80% 11200
90% 12453
95% 13761
98% 16039
99% 18259
100% 28681 (longest request)

Sicherlich ist der TARGET-E Blog weder ein Hochverfügbarkeitssystem, noch ist es Performance Optimiert. Denn bei zu erwartenden 100 Zugriffen gleichzeitig sollte man bei Dauerbelastung eine mittlere Zugriffszeit von etwa 200ms erreichen (Vgl. blog.target.e.de: 10163ms!)

SIEGE

Empfohlen wurde uns auch die Loadtest Software SIEGE. Diese ist kostenlos und ebenfalls leicht zu bedienen. Hier kann eine Liste an URLs angegeben werden, welche im Loadtest abgearbeitet werden.

http://www.joedog.org/JoeDog/Siege

Veröffentlicht unter TYPO3 Extensions, TYPO3 Technik

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*