Project

General

Profile

Actions

Task #48837

closed

Up to 100% performance loss since TYPO3 4.5

Added by Norbert Sendetzky almost 11 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2013-06-04
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
6.2
PHP Version:
5.3
Tags:
Complexity:
Sprint Focus:

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.

Actions

Also available in: Atom PDF