Wenn eine Website auf einmal mehr Besucher anzieht als erwartet > www.sicheresauto.ch
Es gibt verschiedene Gründe, weshalb man auf einer Website Informationen veröffentlicht. Ein wesentlicher, wenn nicht sogar der Hauptgrund ist, dass man etwas mitzuteilen hat und Personen ansprechen möchte. Was tut man, wenn das nicht nur wie erwartet, sondern auf einmal gar im Übermass gelingt? Ausser der Freude über den Erfolg stellen sich nämlich bald einmal technische Probleme, die im besten Fall dazu führen, dass die Website nur noch schleichend angezeigt wird. Bald einmal ist mit dem Server dann vollends Schluss und man hat zwar viele Besucher, aber keine Website mehr online.
Der Verkehrsclub der Schweiz (VCS) liess mich über die Agentur Sonnenbern eine Website realisieren, welche die Sicherheit von Autos umfassend beurteilt und vergleicht. Die Auto-Umweltliste des VCS hat eine jahrelange Tradition. Neu ging es nicht nur um die Umwelt, sondern auch die Sicherheit der Insassen und der anderen Verkehrsteilnehmer. Daneben hat der VCS auch begleitende Informationen über die Auswirkungen von unsicheren Autos und Tipps zum adäquaten Fahrverhalten festgehalten. Eine rundum informative Sache also.
Da sich bisher noch niemand eine derartige Sicht der Dinge erlaubt hat und der VCS eine gewisse Fachkompetenz geniesst, fuhr die neue Website ein wie eine Bombe. Leider konnte Pragmas erst nachträglich ins Hosting eingreifen, da die Website ursprünglich anderweitig gewartet wurde. Nach der Pressekonferenz schnellten die Besucherzahlen dermassen hoch, dass der Webserver sofort überlastet war. Da meldete sich der VCS wiederum bei mir nach der Suche eine Lösung. Wir transferierten die Website erst vom Massenhost auf einen dedizierten Server und bauten ein Load-Balancing mit mehreren virtuellen Servern auf. Da dies alles im laufenden Betrieb und ohne grosse vertragliche Verpflichtungen geschehen sollte, war es jedoch eine herausfordernde Aufgabe.
Im Normalfall reicht es bei „normalen“ Websites aus, sie auf einem virtuellen Server mit mehr oder weniger Informatik-Ressourcen zu lagern. Virtuelle Server haben den Vorteil, dass sie preiswert sind und man relativ schnell mit mehr Ressourcen auf eine höhere Last reagieren kann. Irgendwann ist jedoch Schluss und dann wird es kompliziert und teuer. Ein erster Schritt sind dedizierte Server, welche jedoch um die Fr. 200.- im Monat kosten, die man lange im Voraus bestellen und für mindestens ein Jahr buchen muss. Der übernächste Schritt wäre ein Cloud-Hosting mit mehreren dedizierten Servern, was jedoch entsprechende vertragliche und monetäre Folgen hat. Noch dazu kommen die Kosten für Softwarelizenzen und Setup.
Beim VCS hatte die Spitze der Zugriffe klar mit der Pressekonferenz zu tun. Praktisch in allen Tages- und Wochen-Zeitungen, in allen Gratisblättern wie „20 Minuten“ wurde der Link veröffentlicht. Da wir also davon ausgehen konnten, dass der hohe Verkehr auf der Website nur eine kurze Spitze und keine dauerhafte Last darstellen würde, fielen aufwändige Standartlösungen wie oben beschrieben ausser Betracht. Pragmas hat in dem Zusammenhang eine einfache Lösung für einen Typo3-Cloud entwickelt. Hierbei werden nur virtuelle Server, die schnell, günstig und monatlich zuschaltbar sind in einen Servercloud aufgenommen. Schliesslich wird die mysql-Datenbank unter den Servern synchronisiert und die von Typo3 temporär erzeugten Dateien über ein Netzwerk-Filesystem zentral abgelegt. Eine preiswerte, skalierbare Lösung für schnelllebige Höhepunkte.
Webseiten-Benchmarking mit www.biketowork.ch
Aus Erfahrungen wird man schlau. Auch bei der Pro-Velo-Kampagne „biketowork“, die während dem Monat Juni stattfand, wurde mit einem erhöhtem Besucheraufkommen gerechnet. Erfreulicherweise verzeichnet die Kampagne jährlich steigende Teilnehmerzahlen. Zudem erwähnte die Firma Google ein sogenanntes „Easteregg“ anzuzeigen: 1. Juni sollten die beiden oo’s in Google zu einem Fahrrad verschönert und mit der Website von biketowork verlinkt sein. Nach den Erfahrungen mit dem VCS läuteten bei mir die Alarmglocken. Es war erneut mehr Besucher und mehr Verkehr auf dem Server von Biketowork zu erwarten. Wie gehen wir damit um? Neben der Möglichkeit, mit einem oder mehreren stärkeren Servern auf den erwarteten Ansturm zu reagieren, gibt es auch die schlaue Möglichkeit, die bereits vorhandenen Ressourcen effizienter zu nutzen.
So hat Pragmas neben dem Aufbau eines Typo3-Cloud-Hostings zwei Optimierungen an den benutzen Servern vorgenommen. Typo3 ist eine Serversoftware, die dynamisch abläuft und statische Elemente verwendet. Dynamisch heisst, dass Typo3 letzlich in der Programmiersprache php realisiert ist und auf eine mysql-Datenbank zugreift. Nachdem wir die mysql-Datenbank bereits im letzten Jahr weitestgehend optimiert hatten, nahmen wir uns in dieses Mal dem php an.
Es stellt sich in dem Zusammenhang die Frage, wie man den Erfolg von Optimierungen überhaupt messen kann. Dazu gibt es Programme, die während einer bestimmten Zeit Stress erzeugt mit vielen, auch parallelen Zugriffen auf einen Webserver. Wir verwenden Apache Benchmark und testen mit 10 Mal höheren Zugriffen, als wir aus der letztjährigen Statistik entnehmen können. Als erstes schufen wir einen Referenzwert des Webservers ohne Optimierung. Hier schauten wir auf die Reaktionszeit des Servers, wenn eine Webseite aufgerufen wird und auf die Anzahl bearbeiteter Zugriffe pro Sekunde. Die bereits im letzten Jahr verwendete Zend-Caching Engine brachte eine Verbesserung von etwa 10%. Neu haben wir Advanced PHP Cache installiert, das eine spürbare Verbesserung von sogar 50% erzielte.
Die 2. Optimierung betrifft die statischen Dateien wie Bilder oder Dokumente, welche auf dem Server direkt an den Webbrowser wiedergegeben werden können, ohne belastende php-Prozesse durchlaufen zu müssen. Hierzu haben wir einen zweiten sehr schlanken Webserver (lighttpd) ohne Programmierschnittstellen. Sobald eine Datei aus einem Bild- oder Dokumentenverzeichnis aufgerufen wird, wird die Anfrage über einen Port-Redirekt an den schlanken Server weitergegeben. Mit dieser Optimierung erreichen wir nochmals eine Verbesserung von 10%. Nur sind wir im Betrieb auf das Problem gestossen, dass einige Firmennetzwerke die alternativen Webports in ihrer Firewall gesperrt haben, womit wir auf diese Möglichkeit leider verzichten mussten.
Grafisches Benchmarking bei www.biketowork.ch
Neben den oben erwähnten Optimierungen, welche eher technischen Charakter haben, aber für eine Website mit hohem Besucheraufkommen eben wesentlich sind, damit sie überhaupt angezeigt wird. Neben der Technik ist der eigentliche Zweck einer Website nicht zu vergessen. Wenn die Benutzer sie besser verwenden können, weil sie besser mit der Struktur und der Grafik klarkommen, so wird die Ergonomie, das bessere Zurechtfinden und letzlich auch der eigentliche Nutzen erhöht. Auch in diesen Belangen haben wir in letzter Zeit für Biketowork einige Änderungen vornehmen dürfen. So wurde einerseits die Struktur zielgruppengerecht umorganisiert. Jetzt verfügt jede Zielgruppe über ein eigenes Portal und eine teilweise alternative Navigationsstruktur. Zwei Zielgruppen sind erst über ein Login zugänglich. Sobald man sich einmal eingeloggt hat, kann das Login auf dem entsprechenden Computer abgelegt werden und bei jedem folgenden Besuch startet man automatisch auf der entsprechenden Portalseite.
Zudem wurde die Website optisch aufgepeppt und an die heutigen Verhältnisse angepasst. Einerseits wurden die Navigations- und Funktionselemente deutlich erkennbarer untergebracht. Andererseits wurden die Inhaltselemente so vereinfacht, dass die Projektverantwortlichen die Website einfacher unterhalten können. Das interne Jahresziel ist die Förderung der Biketowork-Community. So wurde für den FAQ-Bereich neu ein Forum eingegliedert, damit sich Teilnehmende selber helfen und austauschen können. Auch die Bereiche Aktionskalender, Newsletter und Gönner-Mitgliedschaft wurden überarbeitet. So wird die Website jedes Jahr mehr vom Informationsmedium zum Arbeitsmittel erweitert. Wir dürfen auf die Ideen für nächstes Jahr schon gespannt sein.