Task #53747

Epic #55070: Workpackages

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

Bug #52949: Speed decrease since 4.5

Change TCA cache from php code to serialized array

Added by Thomas Maroschik almost 6 years ago. Updated about 1 year ago.

Status:
Closed
Priority:
Should have
Category:
Caching
Target version:
-
Start date:
2013-11-18
Due date:
% Done:

100%

TYPO3 Version:
6.2
PHP Version:
Tags:
Complexity:
medium
Sprint Focus:

Related issues

Related to TYPO3 Core - Bug #51116: Massive speed problem from TYPO3 version 6.x at the first page request after long period Closed 2013-08-16
Related to TYPO3 Core - Story #55075: review TCA cache and increase performance and scalability Closed 2014-01-16

Associated revisions

Revision ede0978c (diff)
Added by Thomas Maroschik almost 6 years ago

[TASK] Replace TCA cache with serialized array

The TCA isn't stored as php array anymore,
but instead as serialized array string. Unserialize
seems to be much faster in this regard although
opcode caches have been tested.

Resolves: #53747
Releases: 6.2
Change-Id: I540cae2ecee0ef09635ceff0b91b7a940dae01f7
Reviewed-on: https://review.typo3.org/25492
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Thomas Maroschik
Tested-by: Thomas Maroschik

History

#1 Updated by Markus Klein almost 6 years ago

  • Category set to Caching

#2 Updated by Gerrit Code Review almost 6 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25492

#3 Updated by Gerrit Code Review almost 6 years ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25492

#4 Updated by Bernhard Kraft almost 6 years ago

I would suggest to rather create a global var:

$GLOBALS['TCA'] = GeneralUtility::makeInstance('TYPO3\CMS\Core\WHATEVER\DatabaseBackedArray');

and create the appropriate class like

class DatabaseBackedArray implements arrayaccess {

according to the PHP docs:
http://php.net/manual/en/class.arrayaccess.php

Then it would be possible to load required parts of TYPO3_CONF_VARS and/or TCA just on requirement from the DB (or eventually store it in a memcached, etc. Cache backend)

#5 Updated by Thomas Maroschik almost 6 years ago

Hello Bernhard,

we already thought of that, but it should be discussed in an own issue. It has nothing to do with the bare switch of the caching technique and is a discussion about the general handling of the TCA. Please open a new issue and remove your -1 on the patch.

#6 Updated by Gerrit Code Review almost 6 years ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25492

#7 Updated by Gerrit Code Review almost 6 years ago

Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25492

#8 Updated by Gerrit Code Review almost 6 years ago

Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/25492

#9 Updated by Thomas Maroschik almost 6 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#10 Updated by Benni Mack about 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF