von Dominique Stender, 04.09.2007

Lösungen für eine bessere Performance in TYPO3 Version 4: TYPO3 ausreizen

Aus dem
t3n Magazin Nr. 9

Glücklicherweise verfügt MySQL über ein REPLACE-Statement. Es verhält sich wie ein UPDATE-Statement, wenn ein durch die WHERE-Klausel definierter Datensatz bereits existiert. Ist das nicht der Fall, verhält sich REPLACE genau wie INSERT. Es wird also nur ein einzelnes Statement an die Datenbank geschickt, Race-Conditions sind dadurch ausgeschlossen.

Die Extension „dmc_highPerformance“ integriert eine Methode namens „t3lib_db::exec_REPLACEquery()“ in den Datenbank-Layer von TYPO3 und ersetzt an relevanten Stellen die bisherige DELETE/INSERT-Logik. Der Nachteil dieses Ansatzes: Für alle eingehenden Anfragen wird die Seite solange vollständig gerendert, bis dieser Vorgang abgeschlossen ist und der Cache-Inhalt in die Datenbank geschrieben wurde.

REPLACE ist nicht Teil des SQL-ANSI-Standards und steht daher für andere Datenbanktypen nicht unbedingt zur Verfügung. Eine Alternative zur Kombination DELETE/INSERT ist UPDATE/INSERT. Dabei wird zunächst versucht, einen Datensatz zu aktualisieren – egal ob dieser bereits existiert oder nicht. Schlägt das UPDATE fehl, weil kein Datensatz gefunden wurde, kann dieser über INSERT eingefügt werden. Nachteile dieser Methode gegenüber der Kombination DELETE/INSERT ist jedoch, dass das UPDATE-Statement in aller Regel einen Fehler produziert, der geloggt wird sowie die Tatsache, dass immer noch zwei statt einem Statement benötigt werden, was Zeit kostet.

Master-Slave-Replikation von MySQL optimieren

Teil der Lösung für ein hochverfügbares System ist eine Master-Slave-Replikation der Datenbank. Hierbei existieren zwei Server, auf denen eine MySQL-Datenbank läuft. Eine Maschine – der Master – ist TYPO3 bekannt. Alle Anfragen, lesend wie schreibend, werden an den Master gestellt und von ihm beantwortet.

Seite:  1 2 3 4 5 6 7 8 9 10

Empfohlene Artikel

Was erwartet uns in TYPO3 4.7?

Was erwartet uns in TYPO3 4.7?

Plangemäß ist inzwischen die zweite Alpha von TYPO3 4.7 erschienen – ein guter Zeitpunkt, um einen Blick auf die...