HHVM schickt PHP Webseiten auf die Überholspur

Über 80% aller Webseiten weltweit werden mit PHP betrieben.

Der schnelle Einstieg in die Programmiersprache sorgt für eine große Beliebtheit bei den Programmierern. Ob quick&dirty oder sauber objektorientiert. Alles ist möglich.

Große CMS oder Shopsysteme nutzen PHP. Module für verschiedene Datenbanksysteme stehen zur Verfügung um Daten aus PHP heraus zu verwalten.

Mit fast jedem PHP Update wurde die Programmiersprache schneller aber um gruße Shop mit tausenden von einzelnen PHP Dateien zu betreiben fehlt es teilweise doch noch an der nötigen Performance. Denn im Netz gilt: Je schneller eine Seite desto geringer die Absprungrate der Besucher.

Also wird um jede Millisekunde gefeilscht.

Es gibt verschiedene Ansätze um die Geschwindigkeit von PHP Anwendungen zu steigern:

  1. Optimieren von Code
  2. Caching von Daten
  3. Caching von Code

Wir gehen davon aus, dass der Code optimal läuft da wir uns nur mit 1 und 2 beschäftigen wollen.

Caching von Daten

Um Daten zu cachen gibt es verschiedene Möglichkeiten. Anwendungen legen Daten im Dateisystem oder Speicher ab und greifen auf diese zu um sie nicht erneut berechnen zu müssen. Memcached wird dazu gerne verwendet. PHP kann über Memcached Daten im RAM Speicher ablegen und sehr schnell darauf zugreifen.

Varnish ist ebenfalls ein beliebter Seitencache. Damit brauchen Webseiten nicht bei jedem Aufruf neu berechnet zu werden sondern werden aus einem Cache heraus ausgeliefert.

Caching von Code

Eien PHP Datei wird vor jedem Ausführen in einen Bytecode übersetzt. Wenn man nun eine PHP Datei häufig benötigt könnte man diesen Bytecode auch in einen Cache ablegen um die Zeit des Übersetzens zu sparen (OpCode Cache).

Die PHP Beschleuniger können neben dem Cachen des Bytescodes auch noch Optimierungen vornehmen und die Geschwindigkeit nochmals zu steigern. Es gibt verschiedene OpCode Caches (eAccelerator, APC, Zend OpCache).

Was ist nun HHVM?

HHVM (HipHopVirtualMachine) ist ein eigenständiges Programm welches PHP Dateien zunächst in einen ByteCode übersetzt (HHBC). Dieser ByteCode wird dynamisch zur Laufzeit durch eienn  Jit Compiler in Maschinencode compiliert. Da HHVM hierzu eine eigene PHP Implementation hat werden ggf. nicht alle Funktionen der normalen PHP Version unterstützt.

Auf diese Weise kann eine PHP Anwendung innerhalb von HHVM um ein vielfaches schneller und ressourcensparender laufen als innerhalb eines normalen PHP Interpreters.

Möchten Sie einen HHVM Server nutzen? Kein Problem. Auf unseren Root-, Managed, SVN- und Git sowie Shophosting Servern können wir Ihnen gerne einen HHVM einrichten.

Wenn Sie Fragen haben schreiben Sie uns

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.