Task #48837
closedUp to 100% performance loss since TYPO3 4.5
0%
Description
Hi all
Recently, I've made a performance comparison between the different TYPO3 release series to get some hard facts about performance trends for the upcoming 6.2 LTS release. The results are:
- There's a severe loss of performance when switching from 4.5 to the latest 6.1 release
- RealURL is most likely not the reason for this performance loss
- Initializing a single ExtBase plugin takes very long when compared to the rest of the environment but didn't changed much since 4.5
Test environment:
The test machine was a Thinkpad T400, a dual core Notebook with 2.53GHz and Ubuntu 12.04 with Apache 2.2.22, MySQL 5.5.31, PHP 5.3.10 and XDebug 2.1.0 installed. The TYPO3 introduction packages for 4.5, 4.7, 6.0 and 6.1 were installed locally using the setup wizard with the included extensions (especially RealURL).
The measurement of the request times was done by using Firefox/Firebug. Each test was executed at least six times and the first result was always thrown away so rebuilding the caches wasn't taken into account. From the remaining results per run all results that were 10ms above the lowest result were also thrown away and more request were made until three stable results around the lowest one were measured. This should have removed the influence of different scheduling done by the Linux kernel.
Test case one:
The root page of the introduction packages with and without (no_cache=1) caching and with (tx_realurl_enable=1) and without (tx_realurl_enable=0) RealURL.
TYPO3 version 4.5 4.7 6.0 6.1 / +cache/+RealUrl 131ms 141ms 158ms 242ms / -cache/+RealUrl 405ms 432ms 524ms 596ms / +cache/-RealUrl 126ms 140ms 165ms 247ms / -cache/-RealUrl 386ms 412ms 493ms 570ms
Each line shows an increase of the processing time since 4.5. The increase between 4.5 and 4.7 is moderate but 6.0 and especially 6.1 need significantly more time for rendering the page (50% to 100% more). The required time for RealURL in non-cached pages raised from 20ms in 4.5/4.7 to 30ms/25ms in 6.0/61 which is an increase by ca. 25% to 50% since 4.5. The reasons might be the same as for the increase of the TYPO3 render times.
Test case two:
A newly created sub-page without any content elements with and without (no_cache=1) caching and with (tx_realurl_enable=1) and without (tx_realurl_enable=0) RealURL.
TYPO3 version 4.5 4.7 6.0 6.1 /test +cache/+RealUrl 150ms 162ms 190ms 275ms /test -cache/+RealUrl 409ms 433ms 518ms 600ms /id=? +cache/-RealUrl 128ms 134ms 156ms 253ms /id=? -cache/-RealUrl 373ms 393ms 474ms 552ms
The relative render times are roughly comparable with the results from test case one. The increase between 4.5 and 6.1 is also in the range between 50% and 100%.
Test case three:
A newly created sub-page with an adapted efempty extension. The efempty extension is the only one placed on the page and the called action (non-cacheable) contains only a return statement or the assignment of four values to the fluid view which is rendered afterwards. The tests are with and without (no_cache=1) caching and with (tx_realurl_enable=1) RealURL enabled.
TYPO3 version 4.5 4.7 6.0 6.1 /test +return/+cache/+RealUrl 313ms 319ms 347ms 450ms /test +fluid/+cache/+RealUrl 345ms 331ms 370ms 464ms /test +return/-cache/+RealUrl 520ms 534ms 624ms 729ms /test +fluid/-cache/+RealUrl 561ms 548ms 652ms 754ms
Placing the extbase/fluid extension to the test page took always around 160ms to 175ms when returning the content directly and 170ms to 200ms by using a Fluid template. The difference of using a Fluid template or returning the content directly is around 10ms to 40ms so it's not very significant for such a small template. Things will be totally different when using bigger Fluid templates with conditional statements, etc.
Updated by Dmitry Dulepov over 11 years ago
RealURL is independent from the TYPO3 version. It operates the same way in all versions. RealURL uses the API from the core. If the core became slower, so RealURL processing will be slower.
RealURL is not relevant here.
Updated by Alban Cousinie over 11 years ago
Edited : I am not so sure my performance problems are typo3 related anymore. Still investigating....
Updated by Norbert Sendetzky over 10 years ago
As TYPO3 6.2 is now out in the wild, I've done the same tests for that version. The results show a speedup of ca. 30% compared to 4.5 which was leading the ranking up to now as long as the pages can be cached. Great job! :-)
Test case one:
The root page of the introduction packages with and without (no_cache=1) caching and with (tx_realurl_enable=1) and without (tx_realurl_enable=0) RealURL.
TYPO3 version 4.5 4.7 6.0 6.1 6.2
/ +cache/+RealUrl 131ms 141ms 158ms 242ms 97ms
/ -cache/+RealUrl 405ms 432ms 524ms 596ms 925ms
/ +cache/-RealUrl 126ms 140ms 165ms 247ms 96ms
/ -cache/-RealUrl 386ms 412ms 493ms 570ms 830ms
The response time of TYPO3 6.2 sites is fantastic compared to early versions, especially 6.1 as long as the page is cached. If not there's a huge additional speed penality, so keep care that your pages can be all cached!
Test case two:
A newly created sub-page without any content elements with and without (no_cache=1) caching and with (tx_realurl_enable=1) and without (tx_realurl_enable=0) RealURL.
TYPO3 version 4.5 4.7 6.0 6.1 6.2
/test +cache/+RealUrl 150ms 162ms 190ms 275ms 107ms
/test -cache/+RealUrl 409ms 433ms 518ms 600ms 718ms
/id=? +cache/-RealUrl 128ms 134ms 156ms 253ms 107ms
/id=? -cache/-RealUrl 373ms 393ms 474ms 552ms 643ms
The content on the root page of the TYPO3 6.2 introduction page seems to need more time for rendering if it can't be retrieved from the cache. On an empty new page, the non-cached render times for 6.2 are more than 20% less but still much more than for all earlier version.
Test case three:
A newly created sub-page with an adapted efempty extension. The efempty extension is the only one placed on the page and the called action (non-cacheable) contains only a return statement or the assignment of four values to the fluid view which is rendered afterwards. The tests are with and without (no_cache=1) caching and with (tx_realurl_enable=1) RealURL enabled.
TYPO3 version 4.5 4.7 6.0 6.1 6.2
/test +return/+cache/+RealUrl 313ms 319ms 347ms 450ms 214ms
/test +fluid/+cache/+RealUrl 345ms 331ms 370ms 464ms 235ms
/test +return/-cache/+RealUrl 520ms 534ms 624ms 729ms 803ms
/test +fluid/-cache/+RealUrl 561ms 548ms 652ms 754ms 820ms
Also when placing the extbase/fluid extension to the test page, 6.2 outperforms all earlier TYPO3 version as long as the page is cachable. If not the performance hit is even higher than in 6.1.
Updated by Simon Schaufelberger over 10 years ago
can somebody explain why the non cached rendering is so much slower in 6.2 than in 4.5? that would be really interesting.
Updated by Peter Linzenkirchner over 10 years ago
perhaps some explanation? https://github.com/NamelessCoder/TYPO3.CMS/blob/trimmedfat/README.md
Updated by Mathias Schreiber almost 10 years ago
- Status changed from New to Resolved
well.. I know.. performance is not really ever "resolved" but we keep on pushing.
Right now CMS7 performance is better than 4.5 on cached pages, but we're not done yet :)