Community

In eigener Sache: Schnelleres Forum durch Upgrade auf PHP 7

Steffen Weber
121 Kommentare
In eigener Sache: Schnelleres Forum durch Upgrade auf PHP 7

Seit Freitagmorgen läuft ComputerBase mit PHP 7, wodurch sich die Geschwindigkeit des ComputerBase-Forums nicht nur messbar verbessert hat. Unseren Messungen der letzten drei Tage zu Folge hat sich die Zeit, die unsere Server zum Generieren des HTML-Codes einer Forumseite benötigen, durch das Upgrade glatt halbiert.

Sowohl das Content-Management-System (CMS) des redaktionellen Teils von ComputerBase als auch die Forum-Software vBulletin sind in PHP geschrieben. Üblicherweise sind wir bei Upgrades auf neue PHP-Versionen etwas zurückhaltender, aber aufgrund der deutlich höheren Geschwindigkeit nutzen wir PHP 7 jetzt schon zwei Monate nach dessen Veröffentlichung im Produktivbetrieb. Das vorige Upgrade auf PHP 5.6 fand im Mai 2015 und somit neun Monate nach dessen Veröffentlichung statt.

Außerhalb des Forums ist eine höhere Geschwindigkeit zwar bei manchen Seitenaufrufen messbar, aber über alle Seitenaufrufe hinweg nicht spürbar. Dort wird je Seitenaufruf vergleichsweise wenig PHP-Code ausgeführt und die zum Generieren einer Seite benötigte Zeit wird von Datenbankabfragen dominiert, deren Geschwindigkeit sich durch ein PHP-Upgrade naturgemäß nicht ändert.

Deutlich reduzierte Serverlast

Die halbierte Zeit zum Generieren einer Forumseite schlägt sich auch deutlich in der allgemeinen Serverlast nieder. Wann das Upgrade auf PHP 7 stattgefunden hat, ist in dem folgenden Diagramm kaum zu übersehen.

Load Average des Webservers
Load Average des Webservers

Die Forum-Software vBulletin 4 muss an mehreren Stellen angepasst werden, um unter PHP 7 zu funktionieren. Um welche Code-Zeilen es sich dabei handelt, beschreibt der Blog-Eintrag eines niederländischen Entwicklers, den wir mit einem Kommentar um einen weiteren Aspekt ergänzt haben.

Brotli-Assets für Firefox 44 und Chrome 49

Eine andere, vergleichsweise kleine Performance-Optimierung haben wir bereits vor ein paar Wochen umgesetzt. Seitdem komprimieren wir einige statische Assets (CSS- und JavaScript-Dateien) nicht mehr nur mit dem Gzip-kompatiblen Algorithmus Zopfli, sondern für sehr neue Browser wie Firefox 44 und Chrome 49 (Beta) auch via Brotli. Das spart im Fall von CSS ein paar Kilobyte auf dem Pfad der kritischen Assets, vor deren Ladevorgang die Browser gar keine Seiteninhalte anzeigen. In Summe sollten sich solche Optimierungen in relativ langsamen Mobilfunknetzen bemerkbar machen.

CSS (main.css) JavaScript (main.js)
minifizierte, aber unkomprimierte Quelldatei 125,2 KB 64,6 KB
Gzip 24,9 KB 21,9 KB
Zopfli 23,6 KB 21,1 KB
Brotli 21,5 KB 19,7 KB

Wir hoffen, die Technik der ComputerBase-Website durch diese Änderungen noch etwas besser und insbesondere die Nutzung des Forums noch ein klein wenig angenehmer gemacht zu haben. Nachfragen und allgemeines Feedback können wie üblich gerne als Kommentar zu dieser News verfasst werden!