Vergleich PHP 5.5, HHVM und PHP 7.0

Am 03.12.2015 ist PHP in der Version 7 erschienen. Vor allem an der Performance haben die Entwickler gefeilt. In diesem Beitrag untersuchen wir am Beispiel von PHP 5.5, HHVM und PHP 7.0, ob sich dieser Geschwindigkeitsgewinn auch in einem Produktiv-System beobachten lässt und für wen sich bereits heute ein Umstieg auf die neue PHP Version lohnen könnte.

Da schnelle Ladezeiten bei den Besuchern einer Webseite und natürlich auch bei den Suchmaschinen positiv bewertet werden, haben wir bei unseren Setups schon immer viel Wert auf eine hohe Geschwindigkeit gelegt. In der Vergangenheit erreichten wir das u.a. damit, dass wir bei vielen PHP-Installationen auf HHVM statt PHP-FPM gesetzt haben.

In diesem Test haben wir PHP5.5, PHP7 und HHVM hinsichtlich ihrer Geschwindigkeit untersucht und versuchen folgende Fragen zu beantworten:

  • Wie hoch ist der Geschwindigkeitszuwachs von PHP 7 im Vergleich zu PHP 5.5?
  • Ist PHP7 eine Alternative zu HHVM?
  • Lohnt sich der Umstieg auf PHP7, oder sollte man lieber auf HHVM setzen?

PHP 5.5, 7.0 und HHVM Performance Test

Auf einem Server mit Ubuntu 14.04 (64 Bit), Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz, 64 GB RAM und 2 x 1 TByte SATA im RAID1 haben wir ein LAMP Setup installiert. Auf diesem läuft eine WordPress-Installation mit 2.000 Beiträgen und 4.000 Grafiken. Es kamen keinerlei Cache-Systeme zum Einsatz. PHP 5.5 wurde aus den Ubuntu Paket-Quellen installiert. HHVM und PHP7 wurde ohne weitere Optimierungen selbst kompiliert. Zum Zeitpunkt der Tests lag HHVM in der Version: 3.11.0 vor.

In unserem Test wurden 10.000 Anfragen gleichzeitig an zufällige URLs des Testsystems gestartet und dabei die Zeit gemessen, bis die Seite fertig ausgeliefert wurde.

Damit zufällige Schwankungen die Ergebnisse nicht verfälschen wurde der Test mit jeder PHP-Version 100 mal wiederholt. Die folgenden Ergebnisse basieren auf den Mittelwerten der gemessenen Zeiten.

In der Grafik ist deutlich zu erkennen, dass wie erwartet PHP 5.5 deutlich länger zum Ausliefern einer Seite braucht. Im Durchschnitt wurden hier 212 ms gemessen. Dabei konnten maximal 47 Seiten pro Sekunde ausgeliefert werden.

PHP7 schaffte hier deutlich bessere Werte: Im Durchschnitt dauerte das Laden einer Seite 152 ms bei maximal 66 Seiten pro Sekunde.

In unserer Testumgebung lieferte HHVM die besten Erhebnisse. Das Laden einer Seite dauerte im Durchschnitt 77 ms bei 129 Seiten pro Sekunde.

Der  Speicherverbrauch von PHP 5.5 lag bei durchschnittlich 21,2 MB während der von PHP 7.0 bei 13,2 MB pro Aufruf gemessen wurde. Da der Code bei HHVM in kompilierter Form vorliegt liegt der Speicherverbrauch pro Aufruf bei nur 2 MB.

Fazit

Die Ladezeiten von WordPress wurden mit PHP7 deutlich beschleunigt,  können aber mit denen, die unter HHVM erreicht werden, noch nicht mithalten. PHP7 könnte aber auf einigen Systemen trotzdem den Vorzug vor HHVM bekommen, wenn HHVM sich mit bestimmten Plugins / Dropins nicht verträgt, was in der Vergangenheit gerade bei älteren Plugins vorgekommen ist.

Der Performance-Gewinn, den man mit HHVM oder PHP7  im Vergleich zu PHP5.5 erreicht, wird mit Sicherheit bei den Besuchern der Webseite gut ankommen. Da sich gute Ladezeiten auch positiv auf die Rankings bei den Suchmaschinen auswirken, raten wir jedem professionellen Webmaster zu einem Update auf HHVM oder PHP7.

Es darf aber noch nicht vergessen werden, dass viele Linux-Distributoren HHVM und PHP 7 noch nicht in die Paketquellen aufgenommen haben. Dies lässt sich aber sehr leicht umgehen, indem die gewünschte PHP-Version selbst kompiliert und bei Bedarf sogar parallel zur bestehenden PHP-Installation betreibt.

Kunden, die bei LAMP solutions den Pro Aktiv Service gebucht haben, bieten wir auf Wunsch bereits schon jetzt fertige HHVM- oder PHP7-Pakete an, die von uns automatisch aktualisiert werden.

Related Posts

Leave a reply