Matt Mullenweg denkt in seinem Beitrag Infrastructure as Competitive Advantage über den Anteil der Infrastruktur am Erfolg einer Webanwendung nach.

Anlass ist Googles Eintritt in die “Grid-Computing für die Massen”-Arena mit “Google Apps”, das – bei ähnlicher Zielgruppe – mehr Funktionsumfang als die schon länger bei Amazon mietbaren Web-Infrastrukturen EC2 und S3 bietet.

Beide zusammen geben ein deutliches Signal, dass die Einstiegshürden für innovative Webanwendungen sinken. Datenbanken, Speicher und Webserver betrachtet man wie die Wasserleitungen und die Espressomaschine im Büro: Selbstverständlich vorhandene (angemietete) technische Komponenten, die man im besten Fall gar nicht beachten muss.

Matt meint, dass junge Webanwendungen in der Vergangenheit Anwender eher wegen Unattraktivität als wegen zu langsamer Server verloren haben:

If you solve the what-people-want problem, they’ll use you no matter how bad your interface is, how slow your site is, just give them somewhere worth waiting for.

Ich bezweifle das ein wenig: YouTube würde ohne flottes Videostreaming vermutlich keine zwei Wochen überlebt haben, und auf WordPress.com wär’s auch noch gähnend leer, wenn der Klick auf “Veröffentlichen” mit einer minutenlangen Nachdenkpause einherginge.

Wie auch immer… Mit den Angeboten von Google oder Amazon Web Services beginnt jedenfalls eine Aera, in der Webanwendungen ohne viel Aufwand auf der selben Infrastruktur laufen wie die “Großen”.

Wenn alles so einfach ist: Warum ist WordPress trotzdem langsam?

Eine schöne neue Welt – leider ist die Wirklichkeit für WordPress-Anwender noch nicht so weit: WP ist weder in der auf eigenem Webspace laufenden Version noch bei WordPress.com eine wirkliche Rakete.

Zwischen der Anmeldung bei der Administrationsoberfläche und dem Eintippen des ersten Buchstaben für einen neuen Beitrag vergehen auch schon mal 30 Sekunden.

Warum?

Matt ortet den Flaschenhals richtigerweise in der Programmierung. Die Bremse steckt auch laut Experimenten von Yahoo in den HTML-Dateien, den Scripts, bei den Bildern:

Yahoo has fantastic resources on this.

Yahoo hat eine ganze Reihe von Empfehlungen veröffentlicht, die im Kern aussagen: Versuche nicht, möglichst viele Anfragen an den Server so schnell wie möglich zu erledigen – reduziere zuerst die Zahl der Anfragen. Also: Packe mehrere Scripts in eine Datei, mehre Icons in ein Bild, mehrere Stylesheets in eine CSS-Datei.

Wendet WordPress die Yahoo-Empfehlungen an?

Ich habe mit dem Netzwerkmonitor von Firebug mitgeschnitten, wie sich die “Artikel schreiben”-Seite aufbaut. Welche Dateien gegen Ende das Ladevorgangs von Server geholt werden, sieht man auf diesem Screenshot:

Netzwerkverkehr beim Laden der WordPress-Administration

Eines wird sofort deutlich: Die WordPress-Administrationsoberfläche ist ein Schwergewicht. 300 KB Datentransfer und 49 Einzelanfragen an den Webserver sind nötig, um die Seite aufzubauen.

Der überwiegende Traffic wird durch viele kleine Anfragen verursacht – im Screenshot habe ich zur Illustration die vier Anfragen hervorgehoben, mit denen die Symbolbilder für die Mediathek-Buttons geladen werden.

Buttons der WP-Mediathek

Bereits die Zusammenfassung dieser vier kleinen Bildchen zu einem Sprite würde die Zahl der Requests um rund zehn Prozent senken. Liegt der Webserver etwa in den USA, kostet jeder zusätzliche Request über den Atlantik rund 0,1 bis 0,2 Sekunden.

Damit wären hier alleine ein halbe Sekunde zu holen – gar nicht so übel für eine Seite, die du vermutlich am häufigsten brauchst, oder? Davon gibt’s noch mehr, wenn man das Netzwerkmonitoring ein wenig genauer analysiert.

Wann wird WordPress schneller?

In den Plänen für WordPress 2.6 ist derzeit noch keine Rede davon, ob Optimierungen in diese Richtung kommen werden.

Viel wahrscheinlicher gehen Matts Gedanken in eine andere Richtung: WordPress soll den Google Gears LocalServer benutzen.

Google Gears LocalServer ist ein kleiner Webserver, der häufig benötigte Komponenten einer Webanwendung wie eben der WordPress-Administration direkt vom PC des Benutzers an den Browser liefert.

Als zusätzlicher Bonus wird Offline-Blogging ohne speziellen Desktop-Blogclient möglich: Der LocalServer speichert bearbeitete Posts solange offline, bis wieder Internetverbindung besteht und überträgt sie dann auf den “echten” Webserver.

Eins ist sicher: Das eröffnet vollkommen neue Möglichkeiten – auch für eine Reihe neuer Bugs…

8. Mai 2008, 14:53 − Abgelegt in

Kommentare

Hm, das mit Google Gears ist ja ein netter Ansatz, macht das ganze Softwaresystem aber primär erst mal deutlich komplexer und damit fehleranfälliger und aufwändiger zu warten.

Zumal es immer mehr und bessere Möglichkeiten gibt, quasi always online zu sein. Da fragt man sich ob solche Offline-Features wirklich noch Sinn machen oder ob das dann eher ein sehr selten genutztes Feature wird.

Warum versucht man nicht Wordpress relativ simpel zu halten, zumindest was die Codebasis und die Komponentenabhängigkeiten angeht? Es gibt doch momentan genügend andere Baustellen, die durchaus etwas mehr Aufmerksamkeit verdient hätten und sicher eine größere Nutzerzahl adressieren würden. Gerade wenn man wie in diesem Fall die Probleme bereits lokalisiert hat und auch gute, einfache Lösungen dafür existieren muss man doch nicht mit Kanonen auf Spatzen schießen.

Uwe Naumann · 9. Mai 2008, 09:58 · #

Ja gut, mal sehen, wohin sich WordPress weiter entwickelt. Zum jetzigen Stand muss ich allerdings sagen: So schlimm ist die Ladezeit für z.B. post-new.php oder post.php auch nicht. Wenn du eine schnelle Anbindung ins Web und eine flotte MySQL hast, ist Laden der Seiten nach meinem Empfinden flüssig. WP verwendet ja auch, wie du weißt, Cache. Man sollte halt, was generell nicht verkehrt ist, einen flotten Webhoster haben.

LeoXP · 9. Mai 2008, 10:36 · #

Danke für die aufschlussreichen Infos!

Ich sehe das trotzdem als Innovation und denke, dass Matt und WP diese bieten müssen, zwar nicht für uns Anwender, aber für Großkunden, Firmen etc. Damit bleibt WP interessant und hebt sich durch Funktionalität ab. Das Dilemma der Softwarebranche stellt sich hier bestens dar. Sicher wäre es den Entwicklern lieber, sie würden nur 2h am Tag arbeiten und die Fehler beheben, Optimieren und das System schlicht halten. Aber dann interessiert sich kein Mensch dafür. Das Herausstechen aus der Masse ist schwer.

Ich fände es toll, wenn WP irgendwann eine “light”-Version anbietet, Funktionen die man nicht benötigt kann man deaktivieren. Das ist recht gut zu händeln und trennt die Lager der Anforderungen.

Frank · 9. Mai 2008, 12:31 · #

Hi,

also Google Gear Installation ist ab heute im Wordpress Trunk zu finden.. funktioniert mit IE und Firefox anscheinend – mit FF 4 (Nightly) noch nicht, da Google Gears den noch nicht supportet.. ausprobiert habe ich es noch nicht – sehe das noch ein wenig skeptisch, lieber wäre mir eine Wordpress Optimierung ohne solche Funktionen wie Google Gears.. wie du schon treffend schreibst eben.. es gäbe viele Möglichkeiten, Wordpress auch ohne Google Gears flotter zu machen.

liebe Grüße

Chris

Lazy · 16. Mai 2008, 09:45 · #

Also ich finde Google Gears ist eine tolle Sache, wenn es denn funktionieren würde! Habe es eben im FF 3 probiert, aber nix… =(. Wobei ein “flotteres” Wordpress auch schon super wäre, manchmal sind die Wartezeiten (gerade bei langsamer DSL Verbindung) einfach nur … bäh :o

Stefan Johne · 11. August 2008, 20:37 · #

Kommentarfunktion für diesen Artikel geschlossen.