[TYPO3-performance] DataHandler high memory consumption

Philipp Gampe philipp.gampe at typo3.org
Tue Nov 4 14:05:15 CET 2014


Hi bernd wilke,

bernd wilke wrote:

> wouldn't it help to cache the pure page-TSconfig, which should be very
> static (just conditions which vary the result and end in different
> cache-entries), and add the user-TSconfig each time a user accesses the
> page?

No, because of the nature those conditions work. E.g.

foo.bar = baz
[GLOBALSOMETHING]
foo.bar = baz2
foo.baz = bar
[END]
foo.baz = bar2

If the condition is true, you get
foo.bar = baz2
foo.bar = bar2

With your idea, you would get:
foo.bar = baz2
foo.bar = bar <---

> afterwards you may do additinal caching with the combined TSconfig using
> page-uid and user-uid/ group-uid  (and any conditions) as key. maybe
> with the option to release an entry after a given time to reduce memory
> consumption?

I already though about this a bit and maybe a cache would help that caches 
the individual parts that are later combined:
* global TS
* userTS
* groupTS for each group
* pageTS field for each page

Then we would need to flag this entry whether it contains a condition or 
not. If it does, we would need to evaluate it again. Otherwise we could use 
it directly.
That way, we could try to keep conditions in a few entries only and could 
make use of a cache for all others.

This does not help the thread starter tough, because we still need the full 
TS array for each page in the end.

Best regards
-- 
Philipp Gampe – PGP-Key 0AD96065 – TYPO3 UG Bonn/Köln
Documentation – Active contributor TYPO3 CMS
TYPO3 .... inspiring people to share!



More information about the TYPO3-performance mailing list