Software

Bessere Performance mit TYPO3: Frisiert und aufgebohrt

Idealerweise sollte die Performance einer Website so lange kein Thema sein, wie ihre Anwendung mit Hilfe von mehr und besserer Hardware skalierbar bleibt. Warum sich mit aufwändigen Optimierungsmaßnahmen herumärgern, wenn man das Problem auch einfach mit zusätzlicher Hardware lösen kann?

Fast alle
großen dynamischen Websites, wie z. B. Wikipedia, Slashdot und
ganz besonders Google, vertrauen in puncto Performance auf die
ständige Verbesserung der Hardware. Aus der Sicht einer
öffentlich finanzierten Einrichtung haben wir uns hingegen mit
der Frage beschäftigt, ob man die Leistung von TYPO3 auch ohne
finanzielle Investitionen verbessern kann. Im Fokus standen dabei die
Antwortzeit und die Auslastung des Servers sowie die Suche nach dem
effektivsten Mittel zur Optimierung. Das Ziel war, eine einfache und
schnelle Lösung mit dem größtmöglichen Effekt zu
finden.

Die Testumgebung

Der Weg zu einem optimierten System
führt in der Regel über Testreihen, so genannte Benchmarks.
Diese führten wir auf derzeit verbreiteter Hard- und Software
durch: ein Athlon XP 2200 mit 1 GB RAM, gewissermaßen die
Standard-Hardware im Shared- und Rootserver-Segment. Da wir die
Wirkung unterschiedlicher Software-Versionen testen wollten,
benutzten wir für unsere Tests die folgenden Plattformen:

  • GNU/Linux:
    Debian Sarge und Ubuntu Breezy, Linux-Kernel 2.4 und 2.6
  • MySQL
    4.0 und 4.1
  • Apache
    1.3 und 2.0, lighttpd 1.4.8
  • PHP4
    und PHP5
  • TYPO3
    3.8, Quickstart-Paket (FC Bigfeet)

Auch wenn wir bei den Tests Linux
verwendet haben, gelten die meisten Empfehlungen auch für
Windows.

Bei unseren Versuchen zur Verbesserung
der Performance haben wir uns auf zwei Fragen konzentriert: Wie
schnell werden gleichzeitige Anfragen bewältigt und wie groß
ist dabei die Systemlast? Für diese Zwecke haben wir
verschiedene Tools im Netz gefunden. Unser Favorit war das in den
Apache Utilities enthaltene Apachebench, das dazu diente, den
HTTP-Output von Websites zu messen [1].

Ausgangspunkt für unsere
Testreihe war ein Worst-Case- Szenario: ein neu installierter
Debian-Linux-Server mit einem standardmäßigen Apache 1.3
Webserver, einer MySQL-Datenbank, mod_php4 und einem jungfräulichen
TYPO3 3.8 Quickstart-Paket mit ausgeschaltetem TYPO3-Caching.
Zusätzlich benutzten wir einen zweiten Rechner als Client, der
sich am selben 100-Mbit-Switch wie der Server befand.

Um einen Vergleichswert zu erhalten,
bestand unser erster Test aus einer Anfrage nach einer 24 KB großen
statischen Datei, also ohne Einbeziehung von MySQL, PHP und TYPO3.
Auf diese Weise haben wir die Maximalleistung unseres Webservers
ermittelt. Wir starteten Apachebench mit 1000 Anfragen, je 100 davon
gleichzeitig.

SHELL
$ab -n 1000 -c 100 http://yourserver/static_file.txt

Listing 1

Die
durchschnittliche Zeit für eine Anfrage betrug ca. 3 ms. Das
bedeutet mehr als 300 gleichzeitige Anfragen pro Sekunde (300 Req/s).
Im nächsten Schritt wendeten wir uns TYPO3 zu:

SHELL
$ab -n 1000 -c 100 http://yourserver/index.php?no_cache=1

Listing 2

Neben einem
zeitweise nicht mehr erreichbarem System war das Ergebnis ein recht
enttäuschender Wert von 4 Req/s – kein Vergleich zum
statischen Test: Zeit für eine Optimierung.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!