Jul 142011
 

Lange haben wir gezögert den vierten und vorerst letzten Teil unserer Serie über die Geschwindigkeit von TYPO3 und mögliche Maßnahmen zum Tuning der Performance fertig zu stellen.

Der Grund dafür ist, dass wir in den Einstellungen von TYPO3 oder auch auch im Typoscript-Code vergleichsweise wenige Möglichkeiten gefunden haben durch klug gewählte Einstellungen die Geschwindigkeit zu erhöhen. Alleine das ist aber auch schon eine wichtige Erkenntnis.

Drei Hebel haben wir am Ende doch gefunden, mit denen sich in den Einstellungen die TYPO3-Geschwindigkeiut positiv beeinflussen ließ:

1) Datenbank schlank halten.

Mit folgenden Einstellungen in der localconf.php lässt sich TYPO3 im Alltag weniger gesprächig einstellen:

$TYPO3_CONF_VARS['SYS']['enableDeprecationLog'] = '0';
$TYPO3_CONF_VARS['SYS']['syslogErrorReporting'] = '0';
$TYPO3_CONF_VARS['SYS']['belogErrorReporting'] = '0';
$TYPO3_CONF_VARS['BE']['versionNumberInFilename'] = '0';

Nachdem die Einstellungen aktiviert sind, ändert sich an der Geschwindigkeit und am Ressourcenverbrauch wenig. Der Unterschied zeigt sich wenn wir eine Seite vergleichen in der die Logfiles und die Datenbank stark angestiegen sind. Auf größeren Webseiten kann das Syslog der Datenbank auf mehrere GB anwachsen. Räumen wir in einer solchen Installation die Daten auf, beschleunigt sich der Seitenaufbau. (Bild1 + Bild2)

Die Einstellungen oben verhindern, dass überhaupt so viel Datenmüll in einem LIVE-System entsteht.

2. Graphicsmagick statt Imagemagick verwenden

Graficsmagick ist ein weiterentwickelter Fork von Imagemagick. Um die beiden Programme zur Bildbearbeitung zu vergleichen, haben wir eine Seite mit sehr vielen Bildern genommen, und alle skalierten Bilder aus TYPO3temp gelöscht.
Anschließend haben wir ein kleines Script gestartet, dass alle Unterseiten einmal aufruft. Auf den 607-Seiten wurden dabei ca. 1000 Bilder generiert.

Die Ausgabe unseres Scripts zeigte, dass Graficsmagick in unserem, etwas überspitztem, Szenario den Seitenaufbau um ca. 20% beschleunigt.

Beginn: Mi 13. Jul 16:31:40 CEST 2011
Ende: Mi 13. Jul 16:37:10 CEST 2011
Geholt: 607 Dateien
Laufzeit:  330.440699080 Sekunden

Beginn: Mi 13. Jul 16:38:50 CEST 2011
Ende: Mi 13. Jul 16:43:18 CEST 2011
Geholt: 607 Dateien
Laufzeit:  268.020708521 Sekunden

Die Verbesserungen sind natürlich nur dann ausschlaggebend, wenn neue Bilder generiert werden müssen. Im Alltag dürfte die Bildgenerierung in den wenigsten Fällen die Performance so stark beeinflussen.

3) USER-INT nur wenn nötig einsetzen

In unserem Artikel zur Affiliate-Erweiterung für TYPO3 hatten wir eine Möglichkeit vorgestellt, Objekte abhängig von Parametern in der URL als USER_INT, oder USER zu deklarieren. Damit ist es möglich, Seiten zu cachen, auf denen nur unter bestimmten Bedingungen benutzerspezifische Inhalte erscheinen.

Am Beispiel der Powermail-Erweiterung wollen wir das hier noch mal genauer erklären.

Im ts-Setup definieren wir zuerst powermail als USER_INT. Das ist die normale Einstellung. Seiten die ein solches Formular enthalten, können damit nicht mehr effektiv gecached werden.

plugin.tx_powermail_pi1 = USER_INT
[globalVar = tx_powermail_pi1[mailID] =]
plugin.tx_powermail_pi1 = USER
[global]

In vielen Fällen ist das aber völlig unnötig. Wenn wir darauf verzichten die Formulare mit Daten aus der Session zu vorauszufüllen, sieht jeder Besucher das gleiche Formular. Die Inhalte können also problemlos gecached werden.
Erst wenn ein Besucher das Formular abschickt und noch einmal seine Daten bestätigen soll, muss die Seite benutzerspezifisch aufgebaut werden. Das erreichen wir, indem wir abfragen, ob in der URL eine mailID übergeben wurde.

Der Geschwindigkeitsgewinn einer solchen Lösung kann enorm sein. Vor allem im Zusammenhang mit Caching-Lösungen wie varnish, oder statischem Filecaching, kann sich der Seitenaufbau um Größenordnungen unterscheiden, wenn wir unnötige USER_INT-Einstellungen unterdrücken.

In eigener Sache:
Auf unserer Hosting-Seite bieten wir fertige hochoptimierte Server für TYPO3-Hosting. Die Optimierungen werden dort individuell nach den Bedürfnissen unserer Kunden durchgeführt.

  Eine Antwort zu “TYPO3-Geschwindigkeit optimieren Teil 4”

  1. test

 Antworten

Du kannst diese HTML Tags und Attribute benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(Pflichtfeld)

(Pflichtfeld)

© 2017 LAMP solutions GmbH