[TYPO3-core] RFC: #0011505: TYPO3 4.3 is slower than 4.2.8 -> re-implement native db caching

JoH asenau info at cybercraft.de
Tue Sep 15 19:56:31 CEST 2009


>>> Take the classic library example.
>>> You want a book - but there is not one clerk helping you out, there
>>> are 20. And every clerk needs to be tapped on the shoulder "hey,
>>> need you".
>>
>> I think it may also be tag handling. We old system it is very
>> simple: you have a pid and that's it: select or delete by the
>> integer pid. With the new system there are string tags (like
>> 'pages_345'). Strings are already slower, they are not indexed well
>> in databases. Also they are so generic that they will never be as
>> effective as old good pid. Caching framework is bound to be slower
>> than the old method. Generic solution is almost always slower than
>> the specialized one.
>
> For the case "read a completely cached page from the cache" no tags
> are used - just the identifier is used in thtat case. However, tags
> are currently stored in a list - selecting for one tags means using
> LIKE queries and thus a full table scan.
>
> There's a patch for it in the bugtracker:
> http://bugs.typo3.org/view.php?id=11903

And there's another one, that will remove unnecessary function calls from
the caching framework while using the DB cache:
http://bugs.typo3.org/view.php?id=11916

Still I don't think that the framework will ever beat the performance of the
"old school way", because it takes too much time to have the "Cache Factory"
inject the "Cache Manager" which will then get the necessary files for the
selected "Cache Frontend" and "Cache Backend" (which is BTW something
completely different from FE and BE)

Since this will be done on _each_(!) request, it will already slow down the
page generation - but it has an even bigger impact on the performance while
delivering pages directly from cache, because in this case a few
milliseconds definitely matter.

HTH

Joey

-- 
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!)
Dieter Nuhr, German comedian
Xing: http://contact.cybercraft.de
Twitter: http://twitter.com/bunnyfield
TYPO3 cookbook (2nd edition): http://www.typo3experts.com
TYPO3 workshops: http://workshops.eqony.com




More information about the TYPO3-team-core mailing list