Cache: Performance

Für diesen Test habe ich die 4 Core Caches

  • extbase_object
  • extbase_reflection
  • extbase_datamapfactory_datamap
  • cache_rootline

auf die gleichen Cachebackends abgeändert. Ich habe sowohl das Listenmodul als auch den Extensionmanager mit jedem Backend 3 mal hintereinander aufgerufen. Dabei wurde die set() Methode des Backends 71 mal aufgerufen. Bei den Angaben handelt es sich um die Summe aller Zeiten in einem Request in Sekunden.

ApcuBackend

Extensionmanager

  • 0.0026745796203613
  • 0.0025899410247803
  • 0.0018553733825684

Listenmodul

  • 0.0023412704467773
  • 0.0023889541625977
  • 0.0058424472808838

Typo3DatabaseBackend

Bei dem Testserver liegt der MySQL-Server auf der gleichen Festplatte wie der Apache.

Extensionmanager

  • 0.095011234283447
  • 0.097717046737671
  • 0.098922491073608

Listenmodul

  • 0.049378156661987
  • 0.050210952758789
  • 0.038385629653931

SimpleFileBackend

Bei dem Testserver handelt es sich um ein SSD basiertes RAID10 mit 4 Festplatten.

Extensionmanager

  • 0.020318031311035
  • 0.023142576217651
  • 0.022605180740356

Listenmodul

  • 0.01460337638855
  • 0.0147545337677
  • 0.014485120773315

Fazit

Durch den Einsatz von APCu konnte gegenüber zum Typo3DatabaseBackend eine 41-fache Beschleunigung erreicht werden. Was mich jedoch erstaunt ist, dass das SimpleFileBackend gegenüber dem Typo3DatabaseBackend um Faktor 4 schneller ist. Ich vermute, dass dieser Unterschied vor allem durch den Einsatz des SSD RAIDs kommt und dass keine Authorisierung und Analyse der Datenbankquery wie im Typo3DatabaseBackend vonnöten ist.