[TYPO3-core] RFC #11535: Frontend rendering is slowed down by timetracking

Rupert Germann rupi at gmx.li
Tue Jul 14 23:59:06 CEST 2009


Hi,

the next monster patch ;-)

this is a SVN patch request.

Type: performance improvement

Bugtracker references:
http://bugs.typo3.org/view.php?id=11535

Branches: Trunk


Problem:
FE rendering is slowed down because many classes call methods of the
timetrack object ($GLOBALS['TT']) - even when no BE user is logged in which
could see the logged data in the adminpanel.

Solution:
check if a be_user is logged in and use the timetrack object only when this
is the case. Then wrap each call to a method of $GLOBALS['TT'] in a
condition which checks if the global var $USE_TIMETRACK is set.

that works great and results in cached pages rendered 5% faster (see
benchmarks below)

Info:
the tt object itself is still initialized for backwards compatibility: it
could be needed by extensions which expect it to be initialized.
(simply initializing the object doesn't cost much time, I got only 2
trans/sec more when I didn't it.)


And here the obligatory benchmark results (cached pages):
siege -c 15 -i -b -t 2M -f urls43_perf.txt

trunk
-------------------------------------------------------------
Transactions:                  32354 hits
Availability:                 100.00 %
Elapsed time:                 120.46 secs
Data transferred:             790.16 MB
Response time:                  0.06 secs
Transaction rate:             268.59 trans/sec
Throughput:                     6.56 MB/sec
Concurrency:                   14.97
Successful transactions:       32354
Failed transactions:               0
Longest transaction:            0.53
Shortest transaction:           0.00


patched
-------------------------------------------------------------
Transactions:                  34167 hits
Availability:                 100.00 %
Elapsed time:                 120.48 secs
Data transferred:             834.85 MB
Response time:                  0.05 secs
Transaction rate:             283.59 trans/sec
Throughput:                     6.93 MB/sec
Concurrency:                   14.97
Successful transactions:       34167
Failed transactions:               0
Longest transaction:            0.41
Shortest transaction:           0.00


trunk = 100%
patched = 105.5%

I'd say that's worth the effort.


greets
rupert

"There shall be no new TYPO3 version delivering content slower than its
predecessor!"





More information about the TYPO3-team-core mailing list