Blog
TYPO3: CoolURI – unkomplizierte Performance-Optimierung

Als großer TYPO3-Freund schätze ich die CoolURI-Extension seit langem für die unkomplizierte Erledigung der SEO-grundlegenden sprechenden URLs statt den Parameterungetümen (also /index.php?id=34&tx_ttnews[uid]=543213&cHash=98HDH73Hsg373H und so weiter).

Nun betreue ich auch hochfrequentierte Kundenseiten mit obendrein noch sechstelliger Datensatzanzahl in der link_cache-Tabelle. Also unbestritten Größenordnungen, in denen sich kleine Mängel in der TYPO3-Integration schnell aufschaukeln und den Datenbank-Flaschenhals zum Verstopfen bringen können.

Gepeitscht von meinem Perfektionsdrang und dem unbändigen Willen, meinen Kunden das bestmögliche Betreuungsgefühl zu geben, habe ich heute nun eine einfache, wenn auch eindrucksvolle Optimierung bezüglich CoolURI gefunden:

Die sticky-Spalte in der link_cache-Tabelle führte bisher für mich ein untergeordnetes Dasein: Man konnte nach der automatischen Generierung bestimmte URL-Datensätze als sticky – also klebrig – markieren. Das bedeutet, dass diese URL in Stein gemeißelt ist und für dieses Parameter-Set durch die Generierungs-Routine nicht überschrieben werden darf. Wenn dem nicht so ist, wird CoolURI nach Ablauf der URL-Gültigkeit diese erneut prüfen und anpassen. In jedem Fall aber die tstamp-Spalte neu setzen. Bei kleinen Umgebungen mit sagen wir <1.000 Unterseiten und <1.000 Besuchern pro Tag fällt das nicht ins Gewicht. Wenn sich jedoch aufgrund höherer Zeilenanzahl die Queryzeiten erhöhen und sich nachfolgende normale Selects der Besucherschar stauen, wird die Seitenladezeit periodisch zäh  – und das eigentlich sinnlos, da sich URLs ja sowieso nicht ändern sollten.

Meine simple Lösung lautete daher: Per phpMyAdmin den Default-Wert der sticky-Spalte auf “1″ setzen – und ein entsprechendes kurzes Update auf alle bestehenden Zeilen durchführen. Voilá – der Server läuft wieder im Schongang und die “DB-Connections per second”-Peaks sind Geschichte.

Ich hoffe, dem DANACH-Suchenden den entscheidenden Tipp gegeben zu haben und freue mich über entsprechende Jubel-Kommentare ;)

E-Mail-Adresse wird nicht veröffentlicht. Alle Felder sind Pflichtfelder.