Ich dachte es wäre mal wieder an der Zeit einen kurzen Speed-Checkup zwischen den TYPO3 Versionen 6.2 LTS und 7.6 LTS durchzuführen. Jetzt, nachdem ich meinen Server auf die neueste Debian Version aktualisiert habe und ich nun endlich mit neuesten MySQL und PHP Versionen arbeiten kann, habe ich auch die Möglichkeit endlich mal einen Blick in die neueste TYPO3 Schöpfung zu werfen. Ich muss sagen, das Backend gefällt mir im neuen Design ziemlich gut und fühlt sich auch irgendwie schneller an. Aber heute soll es erst einmal nur um die FrontEnd Performance gehen.
Update: TYPO3 7.6 mit PHP 7 unschlagbar
Kleines Update zu diesem Artikel: TYPO3 Version 7.6 ist mit PHP 7 unschlagbar schnell. Den bisher schnellsten Benchmark brachte uns damals TYPO3 Version 4.5. Für 1500 Anfragen (50 gleichzeitig) brauchte das CMS damals genau 3,246 Sekunden. Und nun haltet euch fest, denn diese Marke wurde von TYPO3 7.6 mit PHP 7 (ohne compatibility6 Extension) soeben gebrochen. Es dauerte gerade einmal 2,457 Sekunden um alle Anfragen abzuarbeiten. Gefällt mir richtig gut!
Server Software: Apache
Server Hostname: TYPO3 7.6.2 mit PHP 7
Server Port: 80
Document Path: /
Document Length: 640 bytes
Concurrency Level: 50
Time taken for tests: 2.457 seconds
Complete requests: 1500
Failed requests: 0
Total transferred: 1329000 bytes
HTML transferred: 960000 bytes
Requests per second: 610.43 [#/sec] (mean)
Time per request: 81.909 [ms] (mean)
Time per request: 1.638 [ms] (mean, across all concurrent requests)
Transfer rate: 528.17 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.3 0 2
Processing: 21 80 8.4 81 110
Waiting: 21 80 8.4 81 110
Total: 23 81 8.2 81 110
Percentage of the requests served within a certain time (ms)
50% 81
66% 83
75% 85
80% 86
90% 88
95% 91
98% 95
99% 99
100% 110 (longest request)TYPO3 6.2.17
Der Vollständigkeit halber checken wir (auch wegen dem neu aufgesetzten Server) nochmals den Speed der aktuellen 6.2 LTS. Wir senden wie immer 1500 Anfragen, dabei 50 gleichzeitig. Wer selber auch sein Projekt einmal prüfen möchte, kann das über folgenden Shell Befehl bewerkstelligen:
ab -c 50 -n 1500 http://www.domain.de/
Hier ist nun das schnellste Ergebnis aus 10 Benchmarks:
Server Software: Apache
Server Hostname: TYPO3 6.2.17
Server Port: 80
Document Path: /
Document Length: 645 bytes
Concurrency Level: 50
Time taken for tests: 5.747 seconds
Complete requests: 1500
Failed requests: 0
Total transferred: 1305000 bytes
HTML transferred: 967500 bytes
Requests per second: 260.98 [#/sec] (mean)
Time per request: 191.583 [ms] (mean)
Time per request: 3.832 [ms] (mean, across all concurrent requests)
Transfer rate: 221.73 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.2 0 1
Processing: 81 190 114.9 185 2751
Waiting: 81 189 114.9 184 2751
Total: 81 190 115.0 185 2753
Percentage of the requests served within a certain time (ms)
50% 185
66% 191
75% 196
80% 199
90% 207
95% 214
98% 222
99% 228
100% 2753 (longest request)Im älteren TYPO3 6.2 Performance Test hatten wir ein Ergebnis von 8,8 Sekunden. Ob der Geschwindigkeitsvorteil von ca. 3 Sekunden nun vom neu aufgesetzten Server (mit neuester Software) kommt oder mit ein paar kleineren Updates seitdem die TYPO3 Performance verbessert wurde, kann ich natürlich nicht beurteilen. Die Settings (Apache, PHP, FCGI) am Server sind zumindest weitestgehend identisch. Wir haben zumindest mit grob 5,75 Sekunden ein ziemlich guten Wert.
TYPO3 7.6.2
Server Software: Apache
Server Hostname: TYPO3 7.6.2
Server Port: 80
Document Path: /
Document Length: 640 bytes
Concurrency Level: 50
Time taken for tests: 5.991 seconds
Complete requests: 1500
Failed requests: 0
Total transferred: 1330500 bytes
HTML transferred: 960000 bytes
Requests per second: 250.37 [#/sec] (mean)
Time per request: 199.702 [ms] (mean)
Time per request: 3.994 [ms] (mean, across all concurrent requests)
Transfer rate: 216.88 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.3 0 2
Processing: 86 198 17.9 198 249
Waiting: 86 198 17.8 198 247
Total: 86 198 18.0 198 249
Percentage of the requests served within a certain time (ms)
50% 198
66% 205
75% 209
80% 212
90% 220
95% 227
98% 234
99% 240
100% 249 (longest request)TYPO3 Version 7.6 LTS ist zunächst wie hier dargestellt etwas langsamer. Allerdings ist das Ergebnis mit knapp unter 6 Sekunden dennoch mehr als zufriedenstellend.
Zu erwähnen sei allerdings auch, dass Version 6.2 während den 10 Benchmarks sehr geschwankt hat. Die ersten zwei bis drei Tests lagen bei grob 7 – 8 Sekunden, danach wurden 6 Sekunden erreicht, folgend wurden wieder grob 7 Sekunden gezeitet – also ein kleines Auf und Ab.
Version 7.6 LTS war hier deutlich gleichmäßiger. Mit grob 7 Sekunden im ersten Benchmark verringerte sich die Testdauer mit jedem neuen Test sehr zuverlässig. Es könnte durchaus möglich sein, dass TYPO3 Version 7.6.2 nach noch ein paar weiteren Tests die Zeitvorgabe von 6.2 geschlagen hätte.
Fazit
Ich würde beide Versionen – nach diesem simplen Benchmark – als nahezu gleich performant einstufen. Man sollte allerdings nie – und diese Note habe ich bisher unter jedem Benchmark vergessen – vernachlässigen, welche Neuerungen bei einem solch simplen Test überhaupt nicht beansprucht werden aber dennoch das reale Live-Projekt spürbar schneller wirken lassen. Somit macht es natürlich immer Sinn auf eine aktuelle TYPO3 Version zu setzen – nicht nur wegen der Sicherheit. Zudem kommt der erste Eindruck des neuen 7.6er Backends, welches sich auf Anhieb schneller anfühlte – und auch noch sehr schön aussah.
Bis demnächst!

Are all the tests without the Compatibility6 extension or did the TYPO3 6.2.17 test have the Compability6 extensions installed?
In TYPO3 6.2 there is no compatibility6 Extension because IT IS Version 6 😉 The backwards compatibility is included in TYPO3 core in Version 6.2. Only In Version 7.6 the compatibility for older Extensions is wrapped in „compatibility6“ Extension to install only if needed. But the bigget boost for Version 7.6 is the usage of PHP 7.