Bug #20737
closedTYPO3 4.3 is slower than 4.2.8: re-implement native db caching
0%
Description
Problem:
the FLOW3 caching framework (F3CF) eats up a lot of performance.
Despite there have been a bunch of performance related improvements lately in trunk, TYPO3 4.3 delivers cached pages still significantly slower than 4.2 (see numbers below).
Solution:
re-implement the "traditional" way of caching additionally to the F3CF and make the caching engine configurable in the install tool.
This gives all users that don't need another cache than the mysql database the chance to achieve the same performance with TYPO3 4.3 as they had in 4.2.x.
Those users who benefit from the F3CF because they have the possibility to use other caching engines like memcached or APC will still have the possibility to set a checkmark in the install tool and use the caching framework.
Info:
the sligtly decrease in troughput when comparing 4.3 patched with F3CF and 4.3 trunk is caused by the conditions which determine which caching engine is enabled. (I did already a benchmark to compare if(defined(const)) and if($GLOBALS['var']) - the latter one is faster)
I also did some benchmarks without the condition and only the internal db caching enabled; the troughput actually reaches the values from 4.2.8 without any decrease.
note: the bigger decrease that I measured earlier between 4.3 without FCF3 and 4.2.8 seemed to be caused
a) by new improvements in 4.3 (namely the xclass fix in the autoloader) and
b) by differences in my test installations. This time I made shure that all installations use identical dbs and identical localconfs (except the db settings of course)
Since I do believe that the F3CF will be faster one day, consider this patch as preliminary - I'm mainly interested in the question if others can reproduce the results.
numbers:
==========================================
(all tests done with siege. commandline: siege -c 30 -i -b -t 2M -f urls.txt)
TYPO3 4.2.8
----------------------------------------------------------------
Transactions: 35491 hits
Availability: 100.00 %
Elapsed time: 120.75 secs
Data transferred: 886.76 MB
Response time: 0.10 secs
Transaction rate: 293.92 trans/sec
Throughput: 7.34 MB/sec
Concurrency: 28.98
Successful transactions: 35491
Failed transactions: 0
Longest transaction: 1.12
Shortest transaction: 0.00
TYPO3 4.3trunk
----------------------------------------------------------------
ransactions: 31600 hits
Availability: 100.00 %
Elapsed time: 120.70 secs
Data transferred: 788.73 MB
Response time: 0.11 secs
Transaction rate: 261.81 trans/sec
Throughput: 6.53 MB/sec
Concurrency: 29.58
Successful transactions: 31600
Failed transactions: 0
Longest transaction: 1.27
Shortest transaction: 0.00
TYPO3 4.3trunk with re-implemented native db caching
and CF (configurable in installtool)
native db caching enabled
----------------------------------------------------------------
Transactions: 34877 hits
Availability: 100.00 %
Elapsed time: 119.92 secs
Data transferred: 871.17 MB
Response time: 0.10 secs
Transaction rate: 290.84 trans/sec
Throughput: 7.26 MB/sec
Concurrency: 29.39
Successful transactions: 34877
Failed transactions: 0
Longest transaction: 1.52
Shortest transaction: 0.00
TYPO3 4.3trunk with re-implemented native db caching
and CF (configurable in installtool)
caching framework enabled
----------------------------------------------------------------
Transactions: 31123 hits
Availability: 100.00 %
Elapsed time: 119.77 secs
Data transferred: 776.95 MB
Response time: 0.11 secs
Transaction rate: 259.86 trans/sec
Throughput: 6.49 MB/sec
Concurrency: 29.24
Successful transactions: 31123
Failed transactions: 0
Longest transaction: 2.10
Shortest transaction: 0.00
results:
==========================================
current 4.3trunk is 10.9% slower than 4.2.8
4.3 patched with native db caching is 1.05% slower than 4.2.8
4.3 patched with CF is 10.65% slower than with internal caching
4.3 patched with CF is 0.75% slower than 4.3 trunk
(issue imported from #M11505)
Files