Zum Hauptinhalt Zur Navigation

PHP: Facebooks HHVM macht Wikipedia schneller

Die Wikipedia nutzt nun die HHVM von Facebook zum Ausführen von PHP, was die Seite wesentlich beschleunigt. Die Entwickler geben einen Einblick in die notwendigen Umbauarbeiten.
/ Sebastian Grüner
5 Kommentare News folgen (öffnet im neuen Fenster)
Die CPU-Last der Wikipedia-Server sinkt dank HHVM deutlich. (Bild: Facebook)
Die CPU-Last der Wikipedia-Server sinkt dank HHVM deutlich. Bild: Facebook

Bereits seit Ende November benutzt die Wikipedia die Hip-Hop Virtual Machine (HHVM)(öffnet im neuen Fenster) , um das Ausführen des PHP-Codes zu beschleunigen. Die Entwickler berichten nun, dass dieses Ziel klar erreicht worden sei, was sie mit Statistiken belegen(öffnet im neuen Fenster) . Demnach ist die durchschnittliche CPU-Last auf fast ein Fünftel der Vorwerte gefallen, zudem werden die Seiten nun im Mittel schneller geladen und Änderungen können deutlich schneller gespeichert werden.

Wie der Facebook-Entwickler Brett Simmers im HHVM-Blog(öffnet im neuen Fenster) berichtet, hat er vier Wochen bei der Wikimedia verbracht, um ausstehende Probleme vor dem Wechsel zu beheben. So ist etwa mit Hilfe von Code eines Wikimedia-Entwicklers die Unterstützung für die DOMDocument-Klassen(öffnet im neuen Fenster) in HHVM angepasst worden, so dass Wikipedia-Nutzer weiterhin Artikel als XML-Dateien im- und exportieren können.

Außerdem ist die Erweiterung für Lua-Scripts des Mediawiki-Codes angepasst worden. Zwar lässt sich die Erweiterung mit HHVM ausführen, in bestimmten Fällen verursachte dies aber Speicherfehler. Dieser Fehler ließ sich Simmers zufolge jedoch einfach beheben. Einige Objekt-Destruktoren sind schlicht übergangen worden, diese werden nun aber aufgerufen.

Mehr als nur PHP-Code optimiert

Weitere vergleichsweise einfache Leistungssteigerungen haben sich durch die Analyse der Codebasis ergeben, welche die Wikimedia verwendet. Das PCRE-Paket(öffnet im neuen Fenster) von Ubuntu etwa verwendet standardmäßig kein JIT, so dass diese schlicht mit der Funktion neu erstellt worden ist, was das Parsing beschleunigt hat.

Darüber hinaus musste das Wikimedia-Team die Werkzeuge und Skripte zur Server-Konfiguration aktualisieren und migrierte die Server vom alten Ubuntu 12.04 LTS alias Precise Pangolin auf die aktuelle Long-Term-Support-Version 14.04 alias Trusty Tahr.

Simmers gibt zu bedenken, dass von PHP 5.3 auf HHVM gewechselt worden ist. Ein Wechsel vom aktuellen PHP 5.6 hätte wohl nicht so deutliche Leistungssteigerungen zur Folge gehabt.


Relevante Themen