Bug #20755

Frontend rendering is slowed down by timetracking

Added by Rupert Germann almost 12 years ago. Updated almost 12 years ago.

Status:
Closed
Priority:
Should have
Category:
Communication
Target version:
-
Start date:
2009-07-14
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
4.3
PHP Version:
5.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

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 forbackwards compatibility: it could be needed by extensions which expect it to be initialized

benchmark results:
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%

(issue imported from #M11535)


Files

11535_dont_load_TT.diff (51.9 KB) 11535_dont_load_TT.diff Administrator Admin, 2009-07-14 23:44
11535_dont_load_TT_stripped-whitespaces.diff (45.7 KB) 11535_dont_load_TT_stripped-whitespaces.diff Administrator Admin, 2009-07-14 23:45

Related issues

Is duplicate of TYPO3 Core - Feature #19513: Instantiate time tracker as null object if not really requiredClosedRupert Germann2008-10-28

Actions
#1

Updated by Rupert Germann almost 12 years ago

the second patch has stripped whittespaces for better reading

#2

Updated by Rupert Germann almost 12 years ago

the benchmark results of both patches are virtually the same.
calling empty methods seems to be as expensive as processing a lot of if() conditions.

but Ingo's patch is simply the more elegant solution and so I
draw back RFC 11535 in favour of 9657 (which does not seem to have been published in this list until now).

Also available in: Atom PDF