Server-Tuning: PHP Bytecode-Cache – Entscheidungsgrundlagen und Handlungsanleitung

Hinweis Anfang 2021: Der Artikel von 2015 ist von den beschriebenen Betriebssystem- und Programmversionen her veraltet, doch die grundsätzlichen Themen und Überlegungen sind nach wie vor aktuell.

PHP mit einem Bytecode-Cache beschleunigen

PHP besteht aus Textdateien, die zur Ausführung kompiliert werden müssen (d.h. übersetzt, zur Ausführung vorbereitet). Die kompilierte Form nennt man Bytecode. Ohne speziellen Vorkehrungen wird jedes Mal, das ein PHP-Programm ausgeführt werden muss, das Bytecode erneut erzeugt. Dieser Schritt ist aber unnötig, solange die Ausgangs-Textdatei sich nicht geändert hat – es wird immer wieder das gleiche Bytecode daraus erzeugt. Ein sogenannter Bytecode Cache hebt die kompilierte Form der PHP-Dateien auf, so dass sie beim nächsten Abruf sofort ausgeführt werden können. Das bringt eine erhebliche Beschleunigung.

Bytecode-Cache und Seitencache

Alternativ bzw. zusäztlich gibt es bei CMS-Systemen wie WordPress – mittels entsprechender Plugins – ein Seitencache: Hier wird die fertig erzeugte Seite aufgehoben und beim nächsten Abruf ausgeliefert, d.h. sie muss gar nicht neu erzeugt werden. Das ist soweit anwendbar gewiss am allerschnellsten – wobei das Cache-Programm gut Buch führen muss: Sobald irgendein Bestandteil der fertigen Seite sich ändert, so muss sie doch neu erzeugt werden. Bei WordPress Cache-Plugins heißen die Platzhirsche „WP Total Cache“ und „W3 Total Cache“; ich selbst nutze das an 3. Stelle rangierende „ZenCache“. Update 2021: ZenCache (inzwischen längst in Comet Cache umbenannt) war länger anscheinend verwaist. Nach langer Zeit kam doch wieder ein Update – aber in der Zwischenzeit habe ich mich für W3 Total Cache entschieden – eine wirklich umfassende und in allen Einzelheiten steuerbare Lösung, die auch Nginx berücksichtigt.

Entscheidungsgrundlage, Handlungsanleitung

Diese Anleitung liefert auf 7 Seiten einen guten Überblick der verschiedene Möglichkeiten, was sie bringen und wieviel Aufwand nötig ist um sie umzusetzen. Hervorzuheben wäre eine Tabelle der verschiedenen möglichen Stufen des Server-Tunings und eine grobe Einschätzung, was sie jeweils bringen.

Das Dokument mit der Entscheidungsgrundlage können Sie hier herunterladen:
Server-Tuning-3_Ubuntu-12.04-LTS_Plesk-12_PHP-Bytecode-Cache_Entscheidungsgrundlagen.pdf
Stand: 24.03.2015

Noch keine Kommentare

zu Server-Tuning: PHP Bytecode-Cache – Entscheidungsgrundlagen und Handlungsanleitung

Schreibe einen Kommentar

Bitte alle Felder ausfüllen. Deine IP-Adresse wird anonymisiert gespeichert. Fantasienamen und E-Mail Adressen (wie "donald@duck.org") werden akzeptiert.