Open Source im professionellen Einsatz

Newsletter abonnieren
Seite durchsuchen

HEFTARCHIV | NEWS | E-BIBLIOTHEK | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO | SHOP

user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2005  »  05  »  Voll Karacho  

RSS-Feed der aktuellen News von Linux-Magazin Online Folgen Sie Linux-Magazin Online auf Twitter
Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark

PHP-Beschleuniger im Vergleich

Voll Karacho

von Michael Walter
Erschienen im Linux-Magazin 2005/05

Wenn die Skripte auf dem eigenen Webserver träge werden, liegt das nicht immer an schlecht geschriebenem Code. Als Alternative zu mehr oder schnelleren CPUs bieten sich PHP-Beschleuniger an, die dem Apache mit Code-Optimierung und intelligentem Caching zur Seite stehen.

PHP ist die Nummer eins unter den Web-Skriptsprachen. Da ist es nur natürlich, dass Firmen und Privatprogrammierer sogar hochkomplexe Anwendungen damit realisieren. Oft fangen sich die Inter- oder Intranetbetreiber mit den interpretativ abzuarbeitenden Skripten massive Performanceprobleme ein. Als Alternative zu einem Hardware-Ausbau analysiert der folgende Test den Geschwindigkeitsgewinn und die Features von vier PHP-Softwarebeschleunigern.

In einem Standard-LAMP-System läuft die PHP-Verarbeitung so: Sobald der Apache auf PHP-Code trifft, übernimmt sein PHP-Modul Mod_php die Regie und übersetzt die Quelle in einen abstrakten Byte-Zwischencode. Die virtuelle Maschine von Mod_php interpretiert den Code und kommuniziert die Ein- und Ausgaben an den Apache zurück.

Die vorgestellten Beschleuniger sind ausnahmslos PHP-Erweiterungen, laufen also im selben Prozesskontext und damit mit den gleichen Rechten wie der Webserver, genauer: wie dessen PHP-Interpreter. Neben Apache 1.3 und 2.0 (Prefork-MPM) mit Mod_php unterstützen die Produkte alle Fast-CGI-konformen[1] Server, etwa Lighttpd und Zeus.

Drei Strategien

Prinzipiell sind drei Beschleunigungsstrategien bekannt, die die vorgestellten vier Produkte mehr oder minder intensiv betreiben und kombinieren:

  • Zunächst versuchen alle vier die Qualität des
    erzeugten Bytecode zu analysieren und auf Geschwindigkeit zu
    optimieren. Die dynamische Natur von PHP scheint diese
    Bemühungen allerdings auf einfache Peephole-Optimierungen zu
    beschränken: Der Optimierer betrachtet nur einige wenige
    Instruktionen auf einmal und versucht bestimmte Bytecode-Sequenzen
    durch schnellere zu ersetzen, beispielsweise »$i++;«
    durch »++$i;«.
  • Zum anderen betreibt jeder Beschleuniger als Shared Memory
    einen gemeinsamen Bytecode-Cache, der den übersetzten Bytecode
    aller Kindinstanzen des Webservers sehr viel länger
    zwischenspeichert, als es der Betriebsablauf eigentlich erfordern
    würde. PHP orientiert sich nämlich stark am
    Request-Response-Modell von HTTP: Darum erstreckt sich die
    Lebensdauer eines PHP-Skripts - und damit seines Bytecode -
    normalerweise nur über den Zeitraum zwischen Aufruf im Browser
    und der Ausführung der letzten Skriptzeile. Das bedeutet, dass
    Mod_php ohne Bytecode-Cache-Unterstützung ein Skript bei jedem
    Aufruf neu einlesen und übersetzen muss.
  • Einige Beschleuniger stellen den PHP-Entwicklern ein API zur
    Verfügung, über das sie in ihren Skripten beliebige
    Daten, beispielsweise komplexe Ausgaben,
    Performance-förderlich im Shared Memory vorhalten
    dürfen.

Zend Performance Suite

Die Zend Performance Suite ist neuerdings Teil der Zend Platform[2]. Zu den Gründern der Firma zählen die PHP-Architekten Andi Gutmans und Zeev Zuraski. Daher verwundert es nicht, dass sich Zend selbstbewusst "The PHP Company" nennt. Vorbildlich: Als einziges Produkt im Testfeld installiert sich die Performance Suite über ein Skript. Es fragt die Pfade von Apache und PHP sowie den Ort der Lizenzdatei ab.

Etwas Beachtung erfordert die mitgelieferte Version des Optimizer. Die anfänglich getestete war nicht mit PHP 4.3.10 kompatibel. Das Installieren des neuesten Optimizer[3] löste das Problem. Neben Bytecode-Caching und einem guten Optimierer speichert die Suite auch die Ausgaben von dafür geeigneten Skripten zwischen und komprimiert sie.

Alle diesbezüglichen Einstellungen lassen sich in einer Web-basierten Konsole vornehmen (siehe Abbildung 1) und mit dem integrierten Benchmark vergleichen. Der Entwickler kann Zwischenergebnisse oder Teilausgaben durch spezielle Anweisungen zwischenspeichern lassen (Partial Page Caching). Das Benutzerhandbuch[4] enthält (nicht nur) hierfür Informationen und Beispiele.


Abbildung 1: In der Weboberfläche der Zend Performance Suite nimmt der Entwickler bequem Performance-Optimierungen vor.


Abbildung 2: Turck MM Cache hat wie die Zend-Suite ein Administrationsfrontend - es bietet aber merklich weniger Möglichkeiten.

Zum Lieferumfang gehört auch der Zend Download Server, der die Serverbelastung beim Laden großer Dateien reduziert. Die Zend-Suite ist mit 995 US-Dollar pro Jahr für eine CPU das einzige kostenpflichtige Produkt im Test. Beim Registrieren hält die Homepage[2] eine kostenlose Evaluationsversion bereit.

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Share/Bookmark
Ähnliche Artikel
LAMP mal ohne AMP Performante Webapplikationen in C++ entwickeln
Babylon zu fünft Populäre Programmiersprachen treten gegeneinander an
Gemeinschaft an der Strippe Workshop: Die eigene Asterisk-Anlage - Teil 4
Babylon zu fünft Populäre Programmiersprachen treten gegeneinander an
Schilderwald Digitale Schilderei mit Linux
Reiches Angebot Webentwicklung mit Java
Whitepaper
The Role of Open Source in Data Integration

Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.

Download PDF (Registrierung erforderlich)
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)

Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.

Download PDF (Registrierung erforderlich)
Kommentare (0)