Bug #52949

Epic #55070: Workpackages

Epic #55065: WP: Overall System Performance (Backend and Frontend)

Speed decrease since 4.5

Added by Philipp Gampe over 8 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Performance
Target version:
-
Start date:
2013-09-19
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
TYPO3 Version:
6.2
PHP Version:
5.3
Tags:
Complexity:
hard
Is Regression:
No
Sprint Focus:

Description

There is a very notable decrease in speed since 4.5.

A fully cached request in 4.5

$ ab -n 100 "http://ubuntu-typo3.local/dummy/index.php?id=1" 
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking ubuntu-typo3.local (be patient).....done

Server Software:        Apache/2.2.22
Server Hostname:        ubuntu-typo3.local
Server Port:            80

Document Path:          /dummy/index.php?id=1
Document Length:        937 bytes

Concurrency Level:      1
Time taken for tests:   3.513 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      123800 bytes
HTML transferred:       93700 bytes
Requests per second:    28.47 [#/sec] (mean)
Time per request:       35.129 [ms] (mean)
Time per request:       35.129 [ms] (mean, across all concurrent requests)
Transfer rate:          34.42 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    32   35   3.3     34      59
Waiting:       32   35   3.3     34      58
Total:         32   35   3.3     34      59

Percentage of the requests served within a certain time (ms)
  50%     34
  66%     36
  75%     37
  80%     38
  90%     38
  95%     39
  98%     45
  99%     59
 100%     59 (longest request)

A fully cached request in 6.2beta1

$ ab -n 100 "http://ubuntu-typo3.local/dummy/index.php?id=1" 
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking ubuntu-typo3.local (be patient).....done

Server Software:        Apache/2.2.22
Server Hostname:        ubuntu-typo3.local
Server Port:            80

Document Path:          /dummy/index.php?id=1
Document Length:        752 bytes

Concurrency Level:      1
Time taken for tests:   14.486 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      105300 bytes
HTML transferred:       75200 bytes
Requests per second:    6.90 [#/sec] (mean)
Time per request:       144.856 [ms] (mean)
Time per request:       144.856 [ms] (mean, across all concurrent requests)
Transfer rate:          7.10 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:   120  145  16.4    142     202
Waiting:      119  144  16.4    141     201
Total:        120  145  16.4    142     202

Percentage of the requests served within a certain time (ms)
  50%    142
  66%    148
  75%    150
  80%    155
  90%    167
  95%    181
  98%    202
  99%    202
 100%    202 (longest request)

Find attached sample xhprof and cachegrind files, plus the used (simple) TS template and some notes for the setup (1 page, no domain record).
Profiling was done with web3tracer.


Files

profiles.tar.gz (315 KB) profiles.tar.gz Sample profile runs and used config Philipp Gampe, 2013-10-18 13:14
typo3-4-5-fully-cached.png (471 KB) typo3-4-5-fully-cached.png TYPO3 4.5 Philipp Gampe, 2013-10-18 16:48
typo3-6-2beta1-fully-cached2.png (1.39 MB) typo3-6-2beta1-fully-cached2.png TYPO3 6.2 Philipp Gampe, 2013-10-18 16:48

Subtasks

Task #53029: Improve performance of the class loader ClosedThomas Maroschik2013-10-22

Actions
Task #53744: Change ClassLoader cache from proxy require files to standard cache backendsClosedThomas Maroschik2013-11-18

Actions
Task #53747: Change TCA cache from php code to serialized arrayClosedThomas Maroschik2013-11-18

Actions
Feature #52642: CF: Implement Simple db, apc & memcached backendClosed2013-10-09

Actions
Bug #53556: classLoader->loadClass calls requireOnce twice per classClosed2013-11-12

Actions
Bug #53918: t3skin calls addIconSprite for each languageClosed2013-11-25

Actions
Bug #53962: Class loader does not cache non existing classesClosed2013-11-25

Actions
Bug #53702: FAL fetches storages twice on every BE requestClosed2013-11-16

Actions
Task #54251: GeneralUtility::array_merge_recursive_overrule has bad performanceClosedMarkus Klein2013-12-06

Actions
Bug #53862: isValidUrl idna converts whole URI instead of domain onlyClosed2013-11-22

Actions
Bug #52125: Saving records takes ages to completeClosed2013-09-19

Actions
Bug #52235: Timeout when copying pages recursively due to cache-clearing overloadClosed2013-09-24

Actions
Bug #53598: Select/Delete fe_sessions twice per requestClosedAlexander Opitz2013-11-13

Actions
Bug #54982: Performance of eID-scripts in TYPO3 6.2ClosedAlexander Opitz2014-01-14

Actions
Bug #55022: PackageManager Cache is invalid if typo3 dir has symlinksClosedAlexander Opitz2014-01-15

Actions
Bug #56307: Findings from Bootstrap/PackageManager/ClassLoader analysesClosedSteffen Ritter2014-02-26

Actions
Bug #56308: ClassLoaderCache superflouousClosed2014-02-26

Actions
Bug #56310: The PackageManager checks every boot if all required packages are activeClosedThomas Maroschik2014-02-26

Actions
Bug #56311: PackageFactory does not need to be initialized on regular requestsClosedThomas Maroschik2014-02-26

Actions
Bug #56312: Dependency Resolver does not need to be initializedClosedBenni Mack2014-02-26

Actions
Bug #56313: Cache Identifiers shorten the MD5 hashClosed2014-02-26

Actions
Bug #56314: setCacheHashOptions from Bootstrap not relevant for EIDClosedBenni Mack2014-02-26

Actions
Bug #56315: Optimize TimeTracking init in eID CaseRejected2014-02-26

Actions
Bug #56316: inline BEUserAuth::getCookieNameClosedThomas Maroschik2014-02-26

Actions
Bug #56317: Cache Local and Default Configuration to prevent duplicate File AccessRejected2014-02-26

Actions
Bug #56318: Check wether the ConfigurationManager can be omitted/reduced for the purpose of what the Boostrap really needs from thatClosed2014-02-26

Actions
Bug #56319: Merge Cache/Cache and CacheFactory into CacheManagerClosed2014-02-26

Actions
Bug #56320: Check emptying the Flow Classes as far as possibleRejected2014-02-26

Actions
Bug #56322: GetAliasesForClass not usedClosed2014-02-26

Actions
Bug #56323: cache_classes should cluster by Package instead of ClassClosed2014-02-26

Actions
Bug #56324: Class Loader should not try to runtime resolve class-pathesClosed2014-02-26

Actions
Bug #56325: Move "finalClassNameCache" from GeneralUtility to ClassLoaderClosed2014-02-26

Actions
Bug #56326: Evaluate and Merge ClassAliasMap into Classloader classRejected2014-02-26

Actions
Bug #56328: Extract complex "class loader cache building" code into ClassLoadingInformationFactoryClosed2014-02-26

Actions
Bug #56330: Add all classes which are needed anyhow within the minimal Bootstrap to the require list in system environment builderRejected2014-02-26

Actions
Bug #56331: Evaluate if we can profit from concatenate all baseRequiredClasses into one fileClosed2014-02-26

Actions
Bug #56333: MicroOptimize ClassLoaderClosed2014-02-26

Actions
Bug #56334: Prevent inclusion of LogLevel due to ConfigDefault referralRejected2014-02-26

Actions
Bug #56335: Prevent Inclusion of ResourceStorage from BootstrapClosedThomas Maroschik2014-02-26

Actions
Bug #56336: Prevent Inclusion of MediaWizardProvider* in Base BootstrapClosed2014-02-26

Actions
Bug #56337: Remove manual array calculation in Locales and put the arrays to the class directlyClosed2014-02-26

Actions
Bug #56340: Remove the VariableFrontend from requiredBaseClassesClosed2014-02-26

Actions
Task #56341: Evaluate if it is really reasonable to have TYPO3\CMS\Core\Compatibility\LoadedExtensionsArrayClosedSteffen Ritter2014-02-26

Actions
Task #56538: Cache the $GLOBALS['TYPO3_LOADED_EXT'] as an arrayClosedThomas Maroschik2014-03-04

Actions
Bug #56933: Cached class loader misses are not considered on retrievalClosedThomas Maroschik2014-03-15

Actions
Task #56934: Move information in Package classes into composer filesClosedThomas Maroschik2014-03-15

Actions
Story #57862: Add possibility to make all TCA additions cachedClosed2014-04-12

Actions
Task #57863: Introduce a signal in ExtensionManagementUtility::loadBaseTcaClosed2014-04-12

Actions
Task #57881: Make category TCA changes cacheableClosed2014-04-13

Actions
Task #57942: Provide API to add cached TCA changesClosed2014-04-15

Actions

Related issues

Related to TYPO3 Core - Task #52304: Performance issuesClosed2012-03-15

Actions

Also available in: Atom PDF