Suchen

IT-Dienstleister trumpft mit Open Source CMS auf RUHR.2010 stellt Typo3 auf den Prüfstand

Redakteur: Gerald Viola

Typo3 ist stark im Kommen, steht jedoch in dem Ruf, ein Ressourcenfresser zu sein. Eignet sich Typo3 auch für große Projekte? Funktioniert das bekannte Open Source Content Management System (CMS) auch unter hoher Last? Wo liegen die Fallgruben auf dem Weg zu einem erfolgreichen Portal mit hoher Reichweite unter Verwendung von Typo3? Auf diese Fragen gibt Sascha Schieferdecker, Projektleiter bei der Citkomm für die Umsetzung RUHR.2010, eine Antwort.

Firmen zum Thema

( Archiv: Vogel Business Media )

Anfang 2008 prüfte die Citkomm im Auftrag des Regionalverbandes Ruhr (RVR) die Möglichkeit, mit Typo3 ein Portal aufzubauen, in dem die Webseiten des Regionalverbands Ruhr und seiner Tochtergesellschaften zentral gepflegt werden können. Zu den Tochtergesellschaften des RVR zählen die RUHR.2010 GmbH, die Ruhr Tourismus GmbH (RTG) und die Wirtschaftsförderung Metropoleruhr GmbH (WMR).

Von der zentralen Pflege und der gemeinsamen technischen Basis der Webseiten versprach man sich Synergien bei der Realisierung der Einzelprojekte und die Möglichkeit, Content zwischen den einzelnen Projekten auszutauschen.

Neben Typo3 stand noch ein kommerzielles Closed Source CMS zur Auswahl, das ähnlich leistungsstark ist. Die eingehende Analyse der Citkomm ergab, dass die geplanten Projekte mit beiden Systemen realisierbar wären. Die größere Verbreitung von Typo3 und die damit verbundene größere Auswahl an Dienstleistern gaben letztendlich den Ausschlag für die Verwendung des Open Source CMS Typo3.

Die Citkomm erhielt den Auftrag, mit Typo3 ein sogenanntes Basis-CMS einzurichten. Darüber hinaus sollte eine grundlegende Auswahl an Erweiterungen implementiert werden, damit diese allen Projektseiten zur Verfügung stehen.

Diese Erweiterungen umfassen neben diversen, als Open Source zur Verfügung stehenden Plugins wie Bildergalerien, Adressverwaltung, Newsletter und Newsmodul, auch die Eigenentwicklung weitaus komplexerer Erweiterungen wie zum Beispiel eine Karteneinbindung auf GIS-Basis und eines Veranstaltungskalenders, der von allen Projektteilnehmern genutzt werden kann. Der Veranstaltungskalender wird aktuell auf der Website www.ruhr2010.de genutzt.

Damit sich die an den Projekten beteiligten externen Dienstleister bei ihren Entwicklungen an vorgegebene Standards halten und so eine möglichst einheitliche Entwicklung gewährleistet wird, erstellte die Citkomm ein Pflichtenheft.

Die Citkomm erhielt auch den Zuschlag für die Realisierung von www.metropoleruhr.de, dem neuen Portal des RVR für das Ruhrgebiet, das im Februar 2010 online ging.

Nächste Seite: GIS-Daten ohne Spezialwissen einbinden

GIS-Daten können ohne Spezialwissen eingebunden werden

Ein technisches Highlight ist die Möglichkeit für Redakteure, Karten zu ihren Artikeln einzubinden. Über die bereits erwähnte, neu entwickelte Erweiterung kann der Redakteur aus einer Vielzahl von Vorlagen die gewünschte auswählen und über Parameter Zoomstufe oder Overlays auswählen. Die Karten werden dynamisch vom Geodatenserver des RVR in die Website geladen.

Die Bedienung für die Redakteure ist sehr einfach und erfordert keinerlei Spezialwissen aus dem GIS-Bereich. Die Software wurde komplett über offene Standards realisiert, sie kann über das OpenLayers-Framework Kartendaten über WMF/WFS-Standards verarbeiten.

Neben den Arbeiten an der Software wurden auch die Bereitstellung der Hardware und das Hosting an die Citkomm vergeben. Da im Kulturhauptstadtjahr hohe Last auf der Website der RUHR.2010 zu erwarten ist, wurde die Hardware großzügig bemessen. Die Typo3-Installation läuft auf einem Cluster aus vier Servern, von denen zwei Server redundant den Speicherplatz bereitstellen und zwei Server redundant die Datenbank und den Webserver abbilden.

Die Konfiguration kann im laufenden Betrieb auch so geschaltet werden, dass auf einem Cluster-Knoten der Webserver läuft, auf dem anderen die Datenbank.

Die Webserver/Datenbankserver sind mit jeweils 4x Quadcore Xeons und 16 GB Arbeitsspeicher bestückt. Als Webserver kommt Apache zum Einsatz. Dieser wurde für die zu erwartende Anfragelast optimiert konfiguriert. Auch an der Software rund um Typo3 führten die Systemspezialisten der Citkomm entsprechende Tuning-Maßnahmen durch.

Im Normalzustand erzeugt jeder Seitenaufruf in Typo3 mehrere Abfragen auf die MYSQL-Datenbank. Seiten liegen nicht als Dateien auf dem Server vor, über Apache URL Rewriting wird jeder Seiteninhalt aus der Datenbank geholt. Typo3 legt Seiten – soweit es die Programmierung der jeweiligen Website zulässt – in eigenen Cache-Tabellen ab, aus denen die möglichst kompletten Seiten gelesen werden. Dennoch zeigten Benchmarks schnell, dass die Datenbank der Flaschenhals ist.

Auch die Performance war je nach Programmierung der Projektwebsite bis zum Faktor 15 unterschiedlich. Hier zeigten sich die Grenzen der Vorgaben, die man den ausführenden Agenturen setzten konnte.

Also musste – neben der üblichen Vorgehensweise, Apache so zu konfigurieren, dass der Client-Browser möglichst viele Daten im Cache ablegen darf – ein weiterer Performance-Schub her. Möglich wurde dies durch die Einbindung des freien Caching-Frameworks Memcached, das als eigenständiger Server läuft und über gängige Programmiersprachen wie PHP, C++ oder Python ansprechbar ist.

Memcached wird von vielen großen Portalen wie Wikipedia, Youtube oder Flickr eingesetzt und liegt als Paket für alle gängigen Linux-Distributionen vor.

Die Arbeitsweise kann in vereinfachter Form so beschrieben werden: Memcached erhält von der Applikation – in diesem Fall von Typo3 – Daten und legt diese im Arbeitsspeicher ab. Dabei kann die Software auch auf beliebig viele Rechner verteilt werden. In der benutzenden Applikation lässt sich ein Pool von Memcached-Servern definieren, sodass eine Erweiterung um einen zusätzlichen Rechner sehr einfach ist.

Nächste Seite: Performance-Steigerung durch die Einbindung von Memcached

Citkomm hat Memcached um einige Funktionen erweitert

Mit der Einbindung von Memcached läuft kein Request mehr bis zur Datenbank, wenn die Seite bereits im Cache vorliegt. Durch die Verwendung dieser Technologie konnte die Performance enorm gesteigert werden. Leider stellt die Verwendung dieses Caches für die CMS-Redakteure jedoch auch ein Problem dar.

Änderungen an der Website werden nicht mehr sofort sichtbar, sondern erst, wenn die Lebenszeit der Memcached-Version der zu ändernden Seite abgelaufen ist. Um dies zu umgehen, erweiterte Citkomm die als Open Source vorliegende Anbindung an Memcached um einige Funktionen. So wird der Cache nach der Änderung einer Seite nun automatisch für das Objekt geleert. Die Lebensdauer der Objekte kann generell sehr kurz eingestellt werden (drei bis fünf Minuten). Dies ist ausreichend, um Lastspitzen abzufangen.

Es gibt einige weitere Stolperfallen beim Einsatz von Memcached. Als Schlüssel für die Auffindung eines Objekts dient die URL, die Länge ist jedoch auf 256 Zeichen beschränkt. Deshalb können dynamische Seiten, die über sehr viele GET-Parameter angesprochen werden, nicht zwischengespeichert werden. In Typo3 kann über eine einfache Einstellung pro Seite festgelegt werden, sie von der Weitergabe an Memcached auszuschließen.

Es gibt jedoch in Memcached auch Automatismen, um Probleme zu vermeiden. So wird eine Seite beim Aufruf über POST nicht aus dem Cache geholt. Dies ist besonders für die Formularverarbeitung nützlich.

Die erste und wichtigste Belastungsprobe der Architektur war die Eröffnungsfeier des Kulturhauptstadtjahres auf Zeche Zollverein, die deutschlandweit live im ZDF übertragen wurde. Innerhalb weniger Stunden gab es über 6,5 Millionen Zugriffen auf www.ruhr2010.de.

Mehrere Analyse-Ergebnisse bestätigten die Leistungsfähigkeit des Konzepts. Auf der Datenbank liefen fast keine Requests auf. Ein Großteil der lastintensiven Anfragen wurde aus dem reichlich vorhandenen Arbeitsspeicher beantwortet.

Die hohe Kundenzufriedenheit über das zu jeder Zeit makellose Antwortverhalten des Clusters in dieser wichtigen Phase des Projekts spricht für sich.

Nächste Seite: Schneller durch intelligente Caching-Konzepte

Schneller durch intelligente Caching-Konzepte

Insgesamt liefen im Januar 2010 über 5,3 Milliarden Zugriffe und 2,7 Terrabyte Traffic auf dem Server nur über die Website der RUHR.2010 – die anderen Projektwebsitesruhr-tourismus.de und business.metropoleruhr.de nicht eingerechnet.

Der Einsatz von Memcached ist aus der Sicht der Citkomm die beste Methode, um Typo3 „schnell zu machen“, ansonsten gelangt das Open Source CMS relativ schnell an die Grenzen seiner Leistungsfähigkeit. Dazu hat das System zu viel Overhead, der sich durch die Einbindung von Sonderfunktionen noch verstärkt.

Web-Content-Management-Systeme, die generierte Seiten als Dateien ablegen, sind zunächst klar im Vorteil. Man kann diesen Nachteil von Typo3 nur durch Hardware ausgleichen – allerdings nur bis zu einem gewissen Grad.

Sinnvoller ist die Entwicklung intelligenter Caching-Konzepte. Memcached bietet sich hier aus zwei Gründen besonders an: erstens ist Arbeitsspeicher bei der aktuellen Marktlage kostengünstig und zweitens ist das Konzept gut erweiterbar. Man kann jederzeit weitere Rechner dazuschalten, auf denen auch Memcached läuft. Dies ist zum aktuellen Projektstand aber nicht notwendig – eine lokale Instanz reicht aus.

Die praktischen Auswirkungen von Memcached konnten bei einer Lastsimulation im Vorfeld der Produktivsetzung des Serverclusters getestet werden:

Während die Webserver mit der Caching-Optimierung bei einer vorgegebenen Zugriffslast performant agierten und Potenzial für weitere Zugriffe aufwiesen, brach das System bei gleicher Zugriffslast nach Deaktivierung von Memcached praktisch zusammen.

In Typo3 Version 4.3 ist bereits systemseitig eine Anbindung zu Memcached vorgesehen, die aber nach ersten Untersuchungen nicht so performant zu sein scheint, wie die hier beschriebene Konfiguration. Es läuft mehr PHP-Code, bevor das Caching greift.

Genauere Benchmarks stehen aber noch aus, sodass die Performance noch nicht abschließend beurteilt werden kann.

Nicht nur die Kern-Funktionen von Typo3 bieten Optimierungspotenzial, auch Zusatzfunktionen wie die Suchfunktion der Website bieten Ansatzpunkte. So ist die bei Typo3 häufig verwendete Sucherweiterung „Indexed Search“ absolut unbrauchbar für größere Websites. Die Tabellenstruktur des Plugins ist dafür ungeeignet.

Hier verfolgt die Citkomm einen anderen Ansatz. Zu Beginn des Projektes wurde die bekannte Open-Source-Suchmaschine ht://dig eingesetzt. Diese ist ausgereift und stabil, wird aber nicht mehr weiterentwickelt. Die Arbeitsweise ähnelt Google & Co. Einmal am Tag wird die Website indiziert. Der aufgebaute Index liefert dann die Suchergebnisse, sodass auf keinen Fall eine Live-Abfrage auf die Typo3 Datenbank erfolgen muss.

Inzwischen ist ht://dig jedoch am Limit, da die Indexvorgänge aufgrund der hohen Zahl von über 15.000 zu indizierenden Seiten recht lange dauern. Daher erfolgt derzeit die Umstellung auf DataparkSearch als Nachfolgeprogramm – ebenfalls eine Open-Source-Lösung. DataparkSearch beherrscht Multithreading während des Indizierens und kann besser mit nicht lateinischen Zeichensätzen arbeiten. Auch die Qualität der Suchergebnisse ist besser. In Teilen ist diese Umstellung bereits abgeschlossen. Die ersten Praxiserfahrungen sind sehr positiv.

Betrachtet man rückblickend die ursprünglichen Ziele des Projekts, eine Plattform aufzubauen, die Synergien schafft und Kosten senkt, wurden diese sicherlich zum großen Teil erfüllt. In der Praxis stellten sich einige Aspekte allerdings anders dar als geplant.

So wurde das angestrebte Content-Sharing nicht in allen Teilen realisiert – allerdings weniger aus technischen Gründen. News und Pressemeldungen sowie Veranstaltungen werden von den Projektpartnern gemeinsam verwendet.

Da die Websites jedoch nicht alle für die gleiche Zielgruppe erstellt wurden, ist der Textstil dann doch oft zu unterschiedlich, um beliebige Texte untereinander auszutauschen. Nächste Seite: Es gibt zu wenig Typo3-Dienstleister

Das Projektteam ist mit dem Ergebnis zufrieden

Des Weiteren bietet die Möglichkeit, mehrere Dienstleister am gleichen System arbeiten zu lassen, nicht nur Vorteile. Durch das Erfordernis, die Dienstleister zu koordinieren, entstehen auch Aufwände, sodass Kostenersparnisse zum Teil wieder aufgefressen werden. Es gilt tendenziell immer noch das Motto „viele Köche verderben den Brei“.

Dazu kommt, dass die Arbeitsweisen der einzelnen Agenturen unterschiedlich sind. Hier ist eine stringente Führung und Kontrolle erforderlich.

Auch die Auswahl an Typo3-Dienstleistern ist zurzeit doch noch nicht so groß wie erhofft. Zudem beherrscht nicht jede Agentur Typo3 auf dem erforderlichen hohen Niveau, um an Projekten dieser Größenordnung mitzuarbeiten.

Man kann das Projekt bereits jetzt als Erfolg bezeichnen – die hohe Performanz der Lösung und hohe Zugriffszahlen sprechen für sich. Aktuell werden über diese Typo3-Installation die vier großen Websites der Projektpartner gepflegt und rund zehn kleinere Websites, die aus den Projekten hervorgegangen sind.

Zufrieden mit dem Projektverlauf und dem Ergebnis zeigt sich Claudia Wagner, Leiterin Internet der RUHR.2010 GmbH:

„Unser gemeinsames Internetprojekt ist von großer Bedeutung für die Metropole Ruhr, auch über das Kulturhauptstadtjahr hinaus. Zugleich stellt es aufgrund seiner Komplexität besondere Anforderungen an alle Kooperationspartner. In der Citkomm haben wir einen kompetenten Dienstleister gefunden, der souverän alle Fäden des technischen Projektmanagements in Händen hält.“

(ID:2044289)