Bei der Entwicklung großer Systeme ist Cache zweifellos von entscheidender Bedeutung. In der PHP-Welt stehen zwar nicht so viele Cache-Lösungen zur Auswahl wie in Java, es gibt jedoch immer noch einige ausgereifte Lösungen. Aus der „fortgeschrittenen PHP-Programmierung“ habe ich Folgendes gelernt:
1. Optimierung auf Sprachebene: PHP verfügt über viele APIs auf Engine-Ebene. Über diese APIs kann das Verhalten der Engine-Ausführung geändert werden, um den Zweck der Betriebsoptimierung zu erreichen. Unter diesen ist es am lohnenswertesten, die Kompilierungsergebnisse zwischenzuspeichern. Wie wir alle wissen, muss PHP jedes Mal, wenn es ausgeführt wird, den Prozess Quellcode -> Kompilierung -> Zwischencode -> Engine-Ausführung durchlaufen. Bei einigen großen Anwendungen wird viel Zeit für die nutzlose Kompilierung aufgewendet (nicht). (nur das PHP, das auf die Seite zugreift) Dateien müssen den Kompilierungsprozess durchlaufen. Wenn require() und include() im Skript verwendet werden, müssen einige enthaltene Dateien kompiliert werden. Durch das Zwischenspeichern der Kompilierungsergebnisse kann die Leistung des Systems erheblich verbessert werden (proportional zur Komplexität und Größe des Systems).
Die drei gängigen Tools in der PHP-Welt, die den Kompilierungs-Cache implementieren können, sind:
Der Zend Accelerator – ein kommerzieller, kostenpflichtiger Closed-Source-Compiler-Cache, der von Zend Industries hergestellt wird
Der ionCube Accelerator – ein kommerzieller, geschlossener, aber kostenloser Compiler-Cache, der von Nick Lindridge geschrieben und von seiner Firma ionCube vertrieben wird
APC – Ein kostenloser und Open-Source-Compiler-Cache, der von Daniel Cowgill und George Schlossnagle geschrieben wurde.
APC-Installationsmethode, APC ist in PECL enthalten, die spezifische Installation ist wie folgt 190-823 190-802:
Nachdem Ausführen des Befehls
#pear install apc
, in php.ini Fügen Sie
der Dateidie Erweiterung = /path/to/apc.so
hinzu. Auf diese Weise ist die Installation abgeschlossen. Wenn PHP das nächste Mal ausgeführt wird, wird APC automatisch aktiviert und die Kompilierungsergebnisse werden in der Datei zwischengespeichert Speicher Bei der nächsten Ausführung werden die Bearbeitungsergebnisse direkt aus dem Speicher abgerufen und ohne erneutes Kompilieren ausgeführt.
Frage: Kann APC PHP, das sich seit der letzten Kompilierung geändert hat, automatisch neu kompilieren?
2. PHP-Code-Optimierung: Verwenden Sie einige Tools, um nach der Kompilierung hochwertigen Zwischencode zu generieren. Die Details sind wie folgt:
Der Zend Optimizer ist ein Closed-Source-, aber frei verfügbarer Optimierer.
Der ionCube-Beschleuniger enthält einen integrierten Optimierer.
Proof-of-Concept-Optimierer in PEAR
Die Hauptfunktionen des Optimierers:
1. Entfernen Sie nutzlosen Code, z. B. toten Code, der niemals ausgeführt wird.
2. Berechnung von Konstanten, z. B. Änderung von $seconds_in_day = 24*60*60 in $seconds_in_day = 86400;
3.
Andere Codeoptimierungsfunktionen, wie diese Anweisung:
$count++;
Ausführung schneller. Wenn die Anweisung $i = $count++; lautet, wird natürlich keine Optimierung durchgeführt