Project

General

Profile

Actions

Bug #87438

closed

Massiv problems with apcu caching

Added by Ruben Herold almost 6 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
-
Target version:
-
Start date:
2019-01-15
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

hi,

we setup a new site with typo3 9.5. The site runs fine but we have a massiv problem with apcu caching.

Typo3 version: 9.5.2
Php Version: 7.2
APCU Version: 5.1.16

We run into a problem that apcu runs really fast into 100% fragmentation and was full of small objects with zero hits.
Example:

1.
a:4:{i:0;a:3:{s:11:"doNotLinkIt";s:1:"1";s:14:"wrapItemAndSub";s:4:"{|},";s:8:"stdWrap.";a:2:{s:7:"cObject";s:3:"COA";s:8:"cObject.";a:14:{i:10;s:4:"USER";s:3:"10.";a:2:{s:8:"userFunc";s:62:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->getDataAsJson";s:8:"stdWrap.";a:1:{s:4:"wrap";s:8:""data":|";}}i:20;s:4:"TEXT";s:3:"20.";a:4:{s:5:"field";s:18:"nav_title // title";s:4:"trim";s:1:"1";s:4:"wrap";s:10:","title":|";s:11:"preUserFunc";s:67:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->jsonEncodeUserFunc";}i:21;s:4:"TEXT";s:3:"21.";a:2:{s:5:"value";s:21:"###LINKPLACEHOLDER###";s:4:"wrap";s:9:","link":|";}i:22;s:4:"TEXT";s:3:"22.";a:2:{s:5:"value";s:23:"###TARGETPLACEHOLDER###";s:4:"wrap";s:11:","target":|";}i:30;s:4:"TEXT";s:3:"30.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","active":|";}i:40;s:4:"TEXT";s:3:"40.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:12:","current":|";}i:50;s:4:"TEXT";s:3:"50.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","spacer":|";}}}}i:1;a:3:{s:11:"doNotLinkIt";s:1:"1";s:14:"wrapItemAndSub";s:4:"{|},";s:8:"stdWrap.";a:2:{s:7:"cObject";s:3:"COA";s:8:"cObject.";a:14:{i:10;s:4:"USER";s:3:"10.";a:2:{s:8:"userFunc";s:62:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->getDataAsJson";s:8:"stdWrap.";a:1:{s:4:"wrap";s:8:""data":|";}}i:20;s:4:"TEXT";s:3:"20.";a:4:{s:5:"field";s:18:"nav_title // title";s:4:"trim";s:1:"1";s:4:"wrap";s:10:","title":|";s:11:"preUserFunc";s:67:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->jsonEncodeUserFunc";}i:21;s:4:"TEXT";s:3:"21.";a:2:{s:5:"value";s:21:"###LINKPLACEHOLDER###";s:4:"wrap";s:9:","link":|";}i:22;s:4:"TEXT";s:3:"22.";a:2:{s:5:"value";s:23:"###TARGETPLACEHOLDER###";s:4:"wrap";s:11:","target":|";}i:30;s:4:"TEXT";s:3:"30.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","active":|";}i:40;s:4:"TEXT";s:3:"40.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:12:","current":|";}i:50;s:4:"TEXT";s:3:"50.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","spacer":|";}}}}i:2;a:3:{s:11:"doNotLinkIt";s:1:"1";s:14:"wrapItemAndSub";s:4:"{|},";s:8:"stdWrap.";a:2:{s:7:"cObject";s:3:"COA";s:8:"cObject.";a:14:{i:10;s:4:"USER";s:3:"10.";a:2:{s:8:"userFunc";s:62:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->getDataAsJson";s:8:"stdWrap.";a:1:{s:4:"wrap";s:8:""data":|";}}i:20;s:4:"TEXT";s:3:"20.";a:4:{s:5:"field";s:18:"nav_title // title";s:4:"trim";s:1:"1";s:4:"wrap";s:10:","title":|";s:11:"preUserFunc";s:67:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->jsonEncodeUserFunc";}i:21;s:4:"TEXT";s:3:"21.";a:2:{s:5:"value";s:21:"###LINKPLACEHOLDER###";s:4:"wrap";s:9:","link":|";}i:22;s:4:"TEXT";s:3:"22.";a:2:{s:5:"value";s:23:"###TARGETPLACEHOLDER###";s:4:"wrap";s:11:","target":|";}i:30;s:4:"TEXT";s:3:"30.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","active":|";}i:40;s:4:"TEXT";s:3:"40.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:12:","current":|";}i:50;s:4:"TEXT";s:3:"50.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","spacer":|";}}}}i:3;a:3:{s:11:"doNotLinkIt";s:1:"1";s:14:"wrapItemAndSub";s:3:"{|}";s:8:"stdWrap.";a:2:{s:7:"cObject";s:3:"COA";s:8:"cObject.";a:14:{i:10;s:4:"USER";s:3:"10.";a:2:{s:8:"userFunc";s:62:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->getDataAsJson";s:8:"stdWrap.";a:1:{s:4:"wrap";s:8:""data":|";}}i:20;s:4:"TEXT";s:3:"20.";a:4:{s:5:"field";s:18:"nav_title // title";s:4:"trim";s:1:"1";s:4:"wrap";s:10:","title":|";s:11:"preUserFunc";s:67:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->jsonEncodeUserFunc";}i:21;s:4:"TEXT";s:3:"21.";a:2:{s:5:"value";s:21:"###LINKPLACEHOLDER###";s:4:"wrap";s:9:","link":|";}i:22;s:4:"TEXT";s:3:"22.";a:2:{s:5:"value";s:23:"###TARGETPLACEHOLDER###";s:4:"wrap";s:11:","target":|";}i:30;s:4:"TEXT";s:3:"30.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","active":|";}i:40;s:4:"TEXT";s:3:"40.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:12:","current":|";}i:50;s:4:"TEXT";s:3:"50.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","spacer":|";}}}}}

2.
a:3:{i:0;a:3:{s:11:"doNotLinkIt";s:1:"1";s:14:"wrapItemAndSub";s:4:"{|},";s:8:"stdWrap.";a:2:{s:7:"cObject";s:3:"COA";s:8:"cObject.";a:14:{i:10;s:4:"USER";s:3:"10.";a:2:{s:8:"userFunc";s:62:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->getDataAsJson";s:8:"stdWrap.";a:1:{s:4:"wrap";s:8:""data":|";}}i:20;s:4:"TEXT";s:3:"20.";a:4:{s:5:"field";s:18:"nav_title // title";s:4:"trim";s:1:"1";s:4:"wrap";s:10:","title":|";s:11:"preUserFunc";s:67:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->jsonEncodeUserFunc";}i:21;s:4:"TEXT";s:3:"21.";a:2:{s:5:"value";s:21:"###LINKPLACEHOLDER###";s:4:"wrap";s:9:","link":|";}i:22;s:4:"TEXT";s:3:"22.";a:2:{s:5:"value";s:23:"###TARGETPLACEHOLDER###";s:4:"wrap";s:11:","target":|";}i:30;s:4:"TEXT";s:3:"30.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","active":|";}i:40;s:4:"TEXT";s:3:"40.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:12:","current":|";}i:50;s:4:"TEXT";s:3:"50.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","spacer":|";}}}}i:1;a:3:{s:11:"doNotLinkIt";s:1:"1";s:14:"wrapItemAndSub";s:4:"{|},";s:8:"stdWrap.";a:2:{s:7:"cObject";s:3:"COA";s:8:"cObject.";a:14:{i:10;s:4:"USER";s:3:"10.";a:2:{s:8:"userFunc";s:62:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->getDataAsJson";s:8:"stdWrap.";a:1:{s:4:"wrap";s:8:""data":|";}}i:20;s:4:"TEXT";s:3:"20.";a:4:{s:5:"field";s:18:"nav_title // title";s:4:"trim";s:1:"1";s:4:"wrap";s:10:","title":|";s:11:"preUserFunc";s:67:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->jsonEncodeUserFunc";}i:21;s:4:"TEXT";s:3:"21.";a:2:{s:5:"value";s:21:"###LINKPLACEHOLDER###";s:4:"wrap";s:9:","link":|";}i:22;s:4:"TEXT";s:3:"22.";a:2:{s:5:"value";s:23:"###TARGETPLACEHOLDER###";s:4:"wrap";s:11:","target":|";}i:30;s:4:"TEXT";s:3:"30.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","active":|";}i:40;s:4:"TEXT";s:3:"40.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:12:","current":|";}i:50;s:4:"TEXT";s:3:"50.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","spacer":|";}}}}i:2;a:3:{s:11:"doNotLinkIt";s:1:"1";s:14:"wrapItemAndSub";s:3:"{|}";s:8:"stdWrap.";a:2:{s:7:"cObject";s:3:"COA";s:8:"cObject.";a:14:{i:10;s:4:"USER";s:3:"10.";a:2:{s:8:"userFunc";s:62:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->getDataAsJson";s:8:"stdWrap.";a:1:{s:4:"wrap";s:8:""data":|";}}i:20;s:4:"TEXT";s:3:"20.";a:4:{s:5:"field";s:18:"nav_title // title";s:4:"trim";s:1:"1";s:4:"wrap";s:10:","title":|";s:11:"preUserFunc";s:67:"TYPO3\CMS\Frontend\DataProcessing\MenuProcessor->jsonEncodeUserFunc";}i:21;s:4:"TEXT";s:3:"21.";a:2:{s:5:"value";s:21:"###LINKPLACEHOLDER###";s:4:"wrap";s:9:","link":|";}i:22;s:4:"TEXT";s:3:"22.";a:2:{s:5:"value";s:23:"###TARGETPLACEHOLDER###";s:4:"wrap";s:11:","target":|";}i:30;s:4:"TEXT";s:3:"30.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","active":|";}i:40;s:4:"TEXT";s:3:"40.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:12:","current":|";}i:50;s:4:"TEXT";s:3:"50.";a:2:{s:5:"value";s:1:"0";s:4:"wrap";s:11:","spacer":|";}}}}}

We have tried to extend the memory from apcu but thats only extend the time the fragmentation happens to some more hours. Seems that on every request new objects like this will be created but never used. This objects have all a ttl from 5184000 seconds.

Actions

Also available in: Atom PDF