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.