Unsere Ideen für Ihr Projekt

Wo sind die Limits von Contao?

Positionierung von Contao im Markt

Contao-Chefentwickler Leo Feyer positionierte auf dem Contao-Agenturtag bei seiner Keynote "sein" CMS so: die Nutzerbasis bilden einfache Homepages, wie sie auch über einen Homepage-Baukasten abgedeckt werden könnten, über typische CMS-Seiten bis hin zu komplexeren Webseiten und -anwendungen, die in den Enterprise-Bereich hineinragen. Zielgruppe jedoch sei der CMS-Bereich mit höheren Ansprüchen sowie das untere Segment der Enterprise Content Management Systeme (ECM). Auf diese Zielgruppe fokussieren sich auch Entscheidungen im Entwicklungsprozess zu Contao, wie jüngst für Contao 4 die Entscheidung für Symfony oder Composer.

Dass Contao auch für einfache Webseiten gut genutzt werden kann, da es effizient die Umsetzung eines Homepage-Projektes fördert, ist klar. So gewann Contao letztes Jahr eine Evaluation in der Zeitschrift Screenguide für sich. Klar ist für Leo Feyer aber auch: Freigabeprozesse werden in den Contao-Core nicht integriert. Sie sind oft komplex für den Anwender und werden daher - so auch unsere Erfahrung - auch in größeren Firmen nur sehr rudimentär genutzt. Solche Use Cases lassen sich aber durch andere Mechanismen sehr gut abbilden wie durch sinnvolle Definition der Benutzergruppen. Aber wie weit kommt Contao in den ECM-Bereich? Wo liegen seine technischen Limits? Wir haben die Teilnehmer des Agenturtags befragt, was ihre größten Projekte sind und wo sie schon einmal an Grenzen gestoßen sind.

Citius, altius, fortius - schneller, höher, weiter

So lautet das Motto der modernen Olympischen Spiele. Wir sind uns natürlich bewusst, dass Performance-Merkmale nicht alleine von Contao abhängen, sondern auch durch die Hosting-Umgebung begrenzt werden können. Performance ist daher eine individuelle Größe. Hier einige Zahlen, die problemlos erreicht werden konnten:

  • Seitenabrufe pro Monat
    Die höchsten Abrufzahlen der Teilnehmer lagen im einstelligen Millionenbereich. Zu Stoßzeiten kann Contao aber auch eine deutlich höhere Last bedienen. Bisher ist hier keine Grenze erkennbar.
  • Verwaltete Seiten
    Auch mit mehreren Zehntausend Seiten kommt Contao gut zurecht. Der Suchindex kann jedoch ab ca. 10.000 Seiten oft nicht mehr flüssig komplett neu erzeugt werden. Es empfiehlt sich dann ein eigener Cronjob, der diese Arbeit beispielsweise jede Nacht einmal erledigt.
  • Anzahl (Backend-)Benutzer
    Hier waren die höchsten Werte im zweistelligen Bereich, was bei sinnvollem Einsatz von Benutzergruppen kein Problem darstellt.
  • Anzahl (Frontend-)Mitglieder
    Ein Teilnehmer hat ein Projekt mit über 300.000 Mitgliedern, bei dem keine Performance-Probleme im Frontend auftreten. Im Backend ist darauf zu achten, dass bei der Mitgliederliste nicht "alle anzeigen" eingestellt ist, sonst lädt die Übersicht ewig. Auch die Paginierung, die man max. auf 500 anzuzeigende Datensätze stellen kann, ist hier nicht mehr sinnvoll. Bei Bedarf lässt sich das aber durch ein eigenes Backend-Widget überschreiben, so dass man z.B. nur über die Suche zu einem Mitgliederdatensatz kommt.
  • Anzahl Mitgliedergruppen
    Hier wurde ein Spitzenwert von 3.000 Gruppen angegeben. Ähnlich wie bei der Anzahl der Mitglieder, bedeutet das keine Probleme im Frontend. Es ist jedoch etwas Arbeit im Backend nötig, da beim Aufruf eines Mitgliedes alle Mitgliedergruppen mit je einer Checkbox dargestellt werden, was die Ladezeit deutlich erhöht. Hier kann man ebenfalls ein eigenes Backend-Widget einsetzen, z.B. einen Tag-Wizard.
  • Anzahl Newsletterempfänger
    Eng verwandt mit den Mitgliedern sind die Newsletterempfänger. Auch hier berichteten Teilnehmer von Newsletter mit über 100.000 Abonnenten. Contao kommt beim Verwalten nicht ins Schwitzen. Der Versand sollte dann jedoch über einen professionellen Anbieter erfolgen, da der E-Mail-Versand in dieser Größenordnung von einem Webserver oft schon vom Provider gedrosselt wird. Außerdem sollte man dies schon aus SPAM-Gesichtspunkten vermeiden. Dies ist aber ein generelles Problem, das nicht alleine auf Contao zutrifft.
  • Sprachen
    Interessant ist natürlich auch, wie viele Sprachen bzw. Seitenbäume Contao verwalten kann. Es wurden bereits Präsenzen mit 40 und mehr Sprachen umgesetzt, darunter auch arabisch, chinesisch, japanisch und russisch. Bei so vielen Sprachen ist das Konzept der Seitenbäume eher nachteilig, weil Sprachvarianten untereinander schwierig konsistent zu halten sind. Eine echte technische Grenze ist hier derzeit nicht bekannt.
  • News, Events, ...
    zeigten keine Limits, von der Tatsache abgesehen, dass ja auch News eigene Seiten erzeugen und daher die gleichen Einschränkungen wie bei den verwalteten Seiten greifen.
  • Taxonomie
    Es gibt mehrere beliebte Erweiterungen, die Taxonomien zur Verfügung stellen. Am Agenturtag wurde eine Anwendung vorgestellt, die aus über 125.000 geschichtlichen Daten per Zufall drei heraussucht und anzeigt. Hier arbeitet Contao gut mit. "Alle anzeigen" im Backend ist aber wieder einmal keine gute Idee.
  • Erweiterungen
    In einigen Contao-Präsenzen sind fast 100 Erweiterungen installiert. Es sind keine messbaren Performance-Verluste erkennbar.
  • Suche
    Eine performante Suche ist bei vielen Systemen schwierig. Das hat zum Teil mit der Größe des Suchindexes zu tun, dann aber auch mit den Suchanfragen. Ist bei Contao eingestellt, dass ein beliebiger Suchbegriff aus einer aus mehreren Wörtern bestehenden Sucheingabe gefunden werden soll, ist oft schon nach 4-5 Wörtern Schluss, besonders wenn diese kurz sind. Sucheingaben wie "a b c d e f g h i j k l m n o p q r s t u v w x y z" bereiten aber nicht nur Contao Kopfschmerzen.
  • eCommerce
    Die Anzahl der Produkte oder Bestellungen scheint in Isotope kein Problem zu sein. Die Entwickler haben aber schon festgestellt, dass bei vielen Varianten, deren Preise sich dynamisch berechnen, das System in die Knie gehen kann. Doch hier existieren ebenfalls Lösungen.

Fazit

Rein technisch ist noch keiner der Teilnehmer durch den Einsatz von Contao in echte Bedrängnis geraten, wodurch der Wechsel auf ein anderes Hosting-System oder gar CMS/ECM nötig gewesen wäre. Wir müssen aber festhalten, dass diese Umfrage unter Agenturen gemacht worden ist, die eher ein Auge auf die Performance ihrer Hosting-Pakete als auf die Preise haben, als Endkunden, die auch beim Hosting sehr auf den Preis achten. Außerdem wissen Agenturen natürlich, dass man mit Contao nicht Amazon, Xing oder Facebook betreiben kann. In dem Bereich, für den Contao vorgesehen ist, also im gehobenen CMS- und beginnenden ECM-Bereich, versieht es seine Aufgaben sehr zuverlässig und performant. Darüber hinaus ist es so flexibel, dass für alle auftretenden Probleme eine effiziente Lösung gefunden werden konnte.

Contao ist eine feste Größe in diesem Bereich geworden, dem "Dabeisein ist alles" als Motto schon lange nicht mehr genügt...

"Das kann Contao?"

Dieser Satz entfuhr einem erstaunten Teilnehmer auf einer der ersten Contao-Konferenzen. Ich freue mich über Feedback an oliver.reiff@trilobit.de über weitere Erfahrungsberichte, was Contao noch so alles kann.