TYPO3 mit HHVM: Howto (Debian Wheezy, Apache2) *updated*

03. April 2014 von Kevin Häfeli Veröffentlicht unter Hosting/Zusatzdienste, Know-how/Tipps&Tricks

Einleitung

Facebooks JIT-Compiler für PHP „HHVM“ (HipHop Virtual Maschine for PHP) ist seit einiger Zeit in aller Munde. Mit HHVM spart Facebook enorme Server Ressourcen (gegenüber Orginal PHP Integrationen) und beschleunigt die PHP Applikationen erheblich. HHVM ist öffentlich verfügbar und wird stetig weiterentwickelt.

Bis vor kurzem war HHVM allerdings für gängige CMS und PHP Frameworks auf Grund des eingeschränkten Funktionsumfangs nicht verwendbar. Diesen Nachteil hat man mit der eben erschienenen Version 3.0.0 bzw. 3.0.1 behoben.

Ab sofort kann HHVM dank dem fastcgi Support auf gängigen Webservern wie Apache und Nginx problemlos eingesetzt werden. Zusätzlich werden nun, dank dem lang erwarteten mysqli Support, Content Management Systeme wie TYPO3 6.2 LTS unterstützt.

Grund genug, einen Blick auf die Installation von HHVM zu werfen und die Performance zu vergleichen.

 

Installation

Für die Installation stellt Facebook freundlicherweise vorkonfigurierte Packages für verschiedene Linux Distributionen zur Verfügung. Eine Installationsanleitung findet man auf Github.

Nachfolgend wird die Installation unter Debian Wheezy beschrieben. Für diese Installation wird eine 64Bit Architektur (amd64) und eine laufende Apache 2.2 mpm-worker Umgebung mit fastcgi (libapache2-mod-fastcgi) vorausgesetzt. (Anleitungen diesbezüglich sind im Netz zu 100erten verfügbar)

 

  • GPG Key von HHVM auf dem System hinzufügen
  • HHVM Repo der lokalen sources.list hinzufügen
  • Paketquellen neu einlesen
  • hhvm installieren (inkl Abhängigkeiten)

Ausgabe:

 

Danach wird der mitgelieferte Systemcheck durchgeführt HHVM automatisch konfiguriert:

 

Nun muss der jeweilige VirtualHost, welcher HHVM verwenden soll, ergänzt werden damit PHP via fastcgi / HHVM verwendet wird. Wichtig:

  • /var/www/fastcgi/ (oder alternativer Pfad) muss bestehen mit Schreibrechten für den Webserver
  • Es werden keine Sockets verwendet (TCP Verbindung zu HHVM – kann folglich auch auf einem eigenen unabhängigen Server installiert werden)

 

 

Thats it!
Der Test via phpinfo() im Webroot sollte ausgeben: HipHop
Seitens TYPO3 sind übrigens keine Anpassungen nötig.

Tipps & Tricks

Wer einen aktuellen Überblick über die neuen Features und Bugfixes haben möchte, verwendet am besten die Nightly Builds (nicht produktiv einsetzen) und verfolgt den HHVM Blog.

Für das Debuggen von Segfaults liefert HHVM neu ein Debug Package mit:

Achtung: das Paket ist wesentlich langsamer, das Paket wesentlich grösser und sollte nur  zu Debugzwecken verwendet werden. Entsprechende Logfiles werden unter /tmp/ abgelegt.

 

Fazit

Da das öffentliche HHVM derzeit noch in den Kinderschuhen steckt (viele Frameworks/CMS/PHP Extensions werden noch nicht zu 100% unterstützt) und rasant weiterentwickelt wird, ist der Produktiveinsatz derzeit nicht zu empfehlen. Es lohnt sich aber auf jeden Fall, die Entwicklung zu verfolgen, wie unser Performance Vergleich aufzeigt.

 

 

Schreibe einen Kommentar zu sebastian Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

3 Gedanken zu “TYPO3 mit HHVM: Howto (Debian Wheezy, Apache2) *updated*

    • Hallo Sebastian. Danke für den Hinweis – da ist wohl etwas beim WordPress Update schief gelaufen. Ist nun korrigiert. Beste Grüsse Kevin