[TYPO3-german] Memcached und TYPO3 4.3.3

Christopher Lörken lists at bytro.com
Sun Apr 18 22:21:56 CEST 2010


Am 18.04.2010 18:30, schrieb Steffen Gebert:
> Was man hier so über das Caching-Framework liest ist einfach die
> Tatsache, dass es leider einen gewissen Overhead mit sich bringt.
> Hierdurch ist Caching-Framework+Memcache auf einem Server nicht
> schneller als "gutes altes DB-Caching" - der MySQL-Query-Cache fängt
> wohl sehr viele der Anfragen ab.
> Ab mehreren Servern bringt es dann aber Vorteile, da der Memcache die
> Daten auf allen (oder wenigstens den meisten?) teilnehmenden Servern
> direkt verfügbar macht.
>
> Allerdings stützt sich das wohl auch nur Messungen von 1-2 Leuten, die
> mal gemacht wurden und hier häufig zitiert werden. Resultat hiervon war
> aber, dass das "gute alte Caching" in 4.3 nach der ursprünglichen
> Abschaffung doch wieder verfügbar gemacht wurde.
> Weitere Benchmarks wären aber schon interessant!

Ja, die habe ich auch gelesen und war, zugegebenermaßen, ein bisschen 
enttäuscht. Es gibt aber auch positivere Berichte wie zum Beispiel den hier:
http://typo3.toaster-schwerin.de/typo3_dev/2010_03/msg00006.html

Eines der Probleme, zumindest mit Typo3 4.2 ist leider auch, dass der 
MySQL Query Cache ziemlich effizient _umgangen_ wird...
Zum Beispiel bekommt jeder nicht eingeloggte Besucher bei jedem page hit 
einen neuen session key im cookie, der dann in der fe_sessions Tabelle 
gesucht wird. Da arbeitet das ganze zwar noch auf einem primary key und 
ist daher nicht so schlimm, schlimmer ist es schon beim Auswählen von 
Seiten aus der pages/cache_pages Tabelle.
Dort wird an jeden Query eine WHERE Klausel wie diese angehängt um (wie 
ich denke) die Funktionalität des zeitlich festgelegten Veröffentlichen 
zu ermöglichen:
"AND P.starttime<=1271621272 AND (P.endtime=0 OR P.endtime>1271621272)"
Die Zahl ist halt wirklich ein UNIX_TIMESTAMP was heißt, dass dieser 
Query genau eine Sekunde im Query Cache gehalten werden kann.
(Dies ist zum Nachlesen auch im Manual von extension dmc_highPerformance 
http://typo3.org/documentation/document-library/extension-manuals/dmc_highPerformance/1.0.1/view/1/4/#id3923258 
beschrieben, welche laut ihrer Doku allerdings noch auf dem Stand von 
Typo3 4.1 entstand.)

Mag sein, dass Typo3 4.3 mit solchen Dingen aufräumt, mag auch sein, 
dass so etwas in der größeren Funktionalität und der dadurch bedingten 
Schwere des neuen Caching Frameworks untergeht, aber insbesondere auf 
stark frequentierten Seiten denke ich, dass man soviel Last von der DB 
in den Arbeitsspeicher verschieben sollte wie man sich leisten kann.


>> Wenn man nur einen Server verwendet kann man auch auf APC
>> zurückgreifen, der ist angeblich noch ein bisschen schneller, weil er
>> nicht wie Memcache die Funktionalität zum teilen des Caches anbietet.
> APC mit TYPO3?
Japp.
Als opcode cache natürlich sowieso und in dem neuen Caching Framework 
meines Wissens nach auch: 
http://flow3.typo3.org/fileadmin/API/FLOW3/F3/FLOW3/Cache/Backend/class-ApcBackend.html


Gruß,
Christopher


More information about the TYPO3-german mailing list