In der aktuellen TYPO3 Version 7.6 ist der Kompatibiltiäts-Layer für Extensions nicht wie bei 6.2 direkt im Core verpackt, sondern kann nach belieben als eigenständige Extension nachinstalliert werden. Das macht Sinn, denn nicht jeder benötigt diese Komapibilität für ältere Extensions.
Allerdings verursacht diese Extension auch Performance-Einbußen, daher haben wir einmal gecheckt, wie diese Performance Einbußen in unserem Benchmark Projekt (Ausgabe: HELLO WORLD!) aussehen. Klar sollte sein: Bei diesem Projekt ist die Extension compatibility6 zwar installiert, verrichtet aber keine Arbeit, da in diesem Projekt nahezu keine Inhalte existieren. In einem größeren Projekt, welches auch tatsächlich ältere Extensions nutzt, werden die Performance-Einbußen sicherlich etwas höher ausfallen.
compatibility6 – wofür?!
Mit der installieren Extension laufen nahezu sämtliche alte TYPO3 Extensions. Ich habe sogar spaßeshalber mal ganz alte t3lib-Extensions getestet (tt_news für TYPO3 4.5) – auch diese können lauffähig gemacht werden, man sollte nur bei Fehlern einmal im error.log des Webservers schauen – dort wird nämlich vermerkt, welche Probleme auftreten.
Performance Test ohne compatibility6
Server Software: Apache Server Hostname: TYPO3 7.6.2 ohne compatibility6 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)
Performance Test mit compatibility6
Server Software: Apache Server Hostname: TYPO3 7.6.2 mit compatibility6 Server Port: 80 Document Path: / Document Length: 640 bytes Concurrency Level: 50 Time taken for tests: 7.495 seconds Complete requests: 1500 Failed requests: 0 Total transferred: 1330500 bytes HTML transferred: 960000 bytes Requests per second: 200.12 [#/sec] (mean) Time per request: 249.848 [ms] (mean) Time per request: 4.997 [ms] (mean, across all concurrent requests) Transfer rate: 173.35 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.3 0 2 Processing: 115 248 27.0 245 366 Waiting: 115 248 27.0 245 366 Total: 115 248 26.9 245 368 Percentage of the requests served within a certain time (ms) 50% 245 66% 254 75% 260 80% 263 90% 276 95% 293 98% 325 99% 340 100% 368 (longest request)
Wie zu sehen ist das Projekt ohne compatibility6 auf dem gleichen Server unter exakt gleichen Bedingungen ca. 1,5 Sekunden (oder 20%) schneller im Benchmark als mit installierter compatibility6 Extension.
Sofern man keine alten Extensions nutzt, sollte man also dafür sorgen, dass diese Extension nicht aktiv ist.
Update: Es geht doch schneller mit TYPO3 7.6
Schaut in diesen Benchmark Artikel für TYPO3 7.6, wir haben einen weiteren Benchmark hinzugefügt: TYPO3 7.6 mit PHP 7. Unfassbar schnell!