Heim > Backend-Entwicklung > PHP-Tutorial > Opcache verstehen

Opcache verstehen

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2025-02-20 08:38:10
Original
857 Leute haben es durchsucht

Opcache verstehen

Key Takeaways

  • opcache ist eine integrierte Caching-Engine in PHP 5.5, die vorkompilierte Skript-Bytecode im Speicher gespeichert wird, was zu Leistungssteigerungen in PHP-Anwendungen führt. Es kann als Erweiterung älterer PHP -Versionen installiert werden und die mittlere Reaktionszeit einer Website um bis zu 14%verkürzen.
  • opcache ist eine bessere Lösung als APC -Cache, da APC keine neueren PHP -Versionen unterstützt und zu Ausführungsfehlern führen kann. OPCache ist enger an PHP selbst gebunden, was zu häufigeren Updates und weniger Fehlern führt. Im Gegensatz zu APC funktioniert OPCACHE jedoch nicht als Daten zwischen Daten zwischen dem Caching -Engine.
  • Um zu überprüfen, ob OpCache korrekt funktioniert, kann man opcache_get_configuration () und opcache_get_status () verwenden. Es stehen auch mehrere vorbereitete Skripte zur Verfügung, die alle Opcache-Konfigurations- und Statusdaten abrufen und auf benutzerfreundliche Weise anzeigen.
  • Es ist möglich, dass Opcache in einem Projekt aktiviert und auf einem einzelnen Server in einem anderen deaktiviert ist. Dies wird erreicht, indem Opcache auf globaler Ebene aktiviert und anschließend in bestimmten Projekten mit der Funktion ini_set () deaktiviert wird.

PHP in Version 5.5 verfügt über eine integrierte Caching-Engine-OPCache-, die vorkompilierte Skript-Bytecode im Speicher gespeichert ist. Wenn Sie mit APC oder XCache vertraut sind, wissen Sie bereits, wie solche Motoren funktionieren. Da jedes PHP -Skript zur Laufzeit kompiliert wird, wird ein Teil der Ausführungszeit zur Umwandlung des menschlichen lesbaren Codes in Code verwendet, der von der Maschine verstanden werden kann. Eine Bytecode -Cache -Engine wie Opcache, APC oder XCache nur einmal - während der ersten Ausführung einer bestimmten PHP -Datei. Anschließend wird das vorkompilierte Skript im Speicher gespeichert, was zu Leistungssteigerungen in Ihren PHP -Anwendungen führen sollte.

Über dem Web finden Sie problemlos viele Tutorials, die alle OPCACHE -Installations- und Konfigurationsschritte abdecken (sie werden standardmäßig auf 5.5 aktiviert, können jedoch als Erweiterung bei älteren Versionen installiert werden). Lesen Sie den Artikel unten, um die Antworten auf einige der typischen Fragen zu verschiedenen praktischen Aspekten der Arbeit mit dieser speziellen Cache -Engine zu finden.

1. Ist Opcache überhaupt eine Installation wert? Welchen Geschwindigkeitsschub kann ich erwarten?

Natürlich kommt es darauf an. Wenn Ihr Server es schafft, den eingehenden Verkehr zu bewältigen und niedrige Reaktionszeiten zu führen, haben Sie wahrscheinlich nicht die Notwendigkeit, an der Leistung zu arbeiten. Aber auf einer größeren Website mit viel Verkehr kann jeder kleine Optimierungsschritt zählen. Durch die Implementierung von OPCache können Sie mehr Anfragen pro Sekunde bearbeiten und die Antwort schneller zurückgeben als ohne Bytecode -Caching -Engine. Da Opcache ziemlich einfach zu installieren und zu konfigurieren ist, werden Sie nicht zu viel Zeit damit verbringen, alles einzurichten.

Wenn Sie nach einigen OPCache -Leistungstests suchen, sollten Sie den Artikel von AppDynamics über die Implementierung dieser Cache -Engine auf jeden Fall lesen. In ihren Tests reduzierte die Installation von OPCAAE die mittlere Reaktionszeit einer Website um 14%. Die Verringerung der Antworten der unterschiedlichen Aktionen einer Webanwendung variierte zwischen 6% und 74%. Wie im Artikel erläutert, können verschiedene Code -Teile mehr oder weniger von der Implementierung einer Bytecode -Caching -Engine profitieren. Ich ermutige Sie, den Artikel ausführlich zu lesen und zu überprüfen, wo Sie den höchsten Leistungsschub erhalten können.

Wenn Sie nach anderen Ressourcen zur Opcache -Leistung suchen, überprüfen Sie die Beispiele auf Fideloper.com und Massivescale.com. Beide Tests gaben an

2. Ich benutze bereits APC -Cache. Soll ich zu Opcache migrieren?

Ich denke du solltest. Es gibt einige Vorteile, die Opcache zu einer besseren Lösung als APC machen können.

Zunächst funktioniert der APC -Cache nicht mit den neuesten PHP -Versionen. Es unterstützt PHP 5.5 überhaupt nicht. Es wird auch nicht empfohlen, es auf PHP 5.4 zu installieren, da diese Konfiguration zu Ausführungsfehlern führen kann, die die gesamte Anwendung brechen. Überprüfen Sie einfach den Wikipedia -Artikel über PHP -Beschleuniger oder diesen Stapelüberlauf -Thread, um einige Details zu erhalten.

opcache ist jedoch mit PHP 5.5 gebündelt, sodass es definitiv mit dieser PHP -Version funktioniert. Wie in der Dokumentation geschrieben, kann es auch mit älteren PHP -Versionen installiert werden - von 5.2 bis 5,4. Im Allgemeinen ist Opcache enger an PHP selbst gebunden als andere Bytecode -Cache -Motoren - was zu häufigeren Updates und weniger Fehlern führen kann (hier finden Sie hier Details).

Das einzig Wichtigste, was Sie bei der Migration von APC zu Opcache erinnern sollten, ist die Tatsache, dass Letzteres nicht als Daten zwischen Daten zwischen dem Caching -Engine fungiert. Wenn Sie APC bereits implementiert haben, verwenden Sie möglicherweise die Funktionen von APC_ADD () und APC_Fetch (), die als Schnittstelle zu einem Daten -Caching -Dienst dienen. OPCache ist nur eine Bytecode -Caching -Engine, sodass sie keine ähnliche Funktionalität bietet. Wenn Sie vorhaben, von APC auf OPCache umzusteigen, denken Sie daran, diese Einschränkung zu berücksichtigen. Denken Sie daran, dass es das APCU -Projekt gibt, wenn Sie die Funktion "APC Userland" beibehalten möchten (dank Oscar Merina, die in den Kommentaren darauf hingewiesen haben).

.

3. So überprüfen Sie, ob Opcache tatsächlich meine Dateien zwischengespeichert?

Wenn Sie Opcache bereits installiert und konfiguriert haben, können Sie feststellen, dass Sie steuern können, welche PHP -Dateien tatsächlich zwischengespeichert werden. Die gesamte Cache -Engine arbeitet im Hintergrund und ist für einen Besucher oder einen Webentwickler transparent. Um seinen Status zu überprüfen, können Sie eine der beiden Funktionen verwenden, die solche Informationen enthalten: opcache_get_configuration () und opcache_get_status (). Glücklicherweise gibt es einige vorbereitete Scrips, die alle Opcache -Konfigurations- und Statusdaten abrufen und auf freundliche Weise anzeigen. Sie müssen keinen Code selbst schreiben, und nehmen Sie einfach eines der Tools von diesen unten ab:
- Opcache -Bedienfeld,
-Opcache-status von Rasmus Lerdorf,
- Opcachegui von Pieter Hordijk,
-Opcache-gui von Andrew Collington.

In meinen Projekten verwende ich das Opcache-Gui-Skript, das alle Funktionen hat, die ich brauche. Um zu überprüfen, ob die Caching-Engine ordnungsgemäß funktioniert, lesen Sie einfach die Prozentsätze auf der Registerkarte "Übersicht" auf der Opcache-Gui-Seite. Wenn die Speicherverwendung und die Trefferwerte größer als Null sind, bedeutet dies, dass der OPCACHE den PHP -Code zwischengespeichert und die zwischengespeicherten Dateien zur Verarbeitung der Anforderungen verwendet werden. Um eine Liste spezifischer PHP -Dateien anzuzeigen, die zwischengespeichert werden, navigieren Sie einfach zur Registerkarte „Dateiverbrauch“. Schauen Sie sich die Dateiliste an, um sicherzustellen, dass die Dateien in Ihren Projekten zwischengespeichert wurden.

Opcache verstehen

4. Gibt es eine rahmenspezifische Konfiguration, die ich festlegen sollte?

Grundsätzlich sollte die Opcache -Engine für Sie als Codeautor transparent sein. Dies bedeutet, dass Sie jeden gewünschten Code in Ihre Anwendung einfügen können (was mit der von Ihnen verwendeten PHP -Version funktioniert) und Opcache sollte ihn ordnungsgemäß verarbeiten. Es funktioniert jedoch nur, wenn die OPCACHE -Konfiguration korrekt eingestellt ist. Eine falsche Cache -Engine -Konfiguration kann Ihre gesamte Website brechen.

Zuallererst müssen Sie in jedem typischen Projekt sicherstellen, dass die Option opcache.use_cwd auf true eingestellt ist. Wenn Sie diese Einstellung aktivieren, wird die OPCACHE -Engine die vollständigen Dateipfade untersucht, um zwischen Dateien mit denselben Namen zu unterscheiden. Das Einstellen auf False führt zu Kollisionen zwischen Dateien mit demselben Grundnamen.

Es gibt auch eine Einstellung, die für Tools und Frameworks wichtig ist, die Anmerkungen verwenden. Wenn Sie Doctrine, Zend Framework 2 oder PHP -Einheit verwenden, sollten Sie die Einstellungen von Opcache.load_Coments und Opcache.Save_ComMents auf true festlegen. Im Ergebnis werden die Dokumentationskommentare Ihrer Dateien auch in den von OPCACHE generierten vorkompilierten Code aufgenommen. Mit dieser Einstellung können Sie ohne Störungen mit Anmerkungen arbeiten.

Wenn Ihr Projekt auf einem bestimmten Framework oder einer Webanwendung basiert, ist es immer eine gute Idee, die Dokumentation auf Richtlinien bezüglich der Opcache -Konfiguration zu überprüfen. Zum Beispiel gibt es hier eine Beispielkonfiguration für Moodle.

5. Ich halte meine App -Konfiguration in einer PHP -Datei. Kann ich verhindern, dass es zwischengespeichert wird?

Wenn Ihr Projekt Dateien enthält, die häufiger als die anderen geändert werden, können Sie sie vom Caching ausschließen. Es kann besonders praktisch sein, wenn es sich um PHP -Dateien handelt, die Konfigurationsanweisungen für Ihre Website enthalten. Wenn Sie sie davon abhalten, zwischengespeichert zu werden, können Sie sicher sein, dass jede Änderung in einer solchen Datei in Ihrer Bewerbung sofort sichtbar ist.

Mit

OPCACHE können Sie eine Blacklist -Datei angeben, die alle Pfade enthält, die nicht von der Caching -Engine verarbeitet werden. Nachdem Sie die Anweisung opcache.blacklist_filename festgelegt haben, geben Sie einfach die richtige Dateiliste in den angegebenen Pfad ein. Auf der Seite "Dokumentation" enthält einige Beispiele zum Ausschließen bestimmter Dateien aus Cache.

6. Wie kann ich sowohl eine Entwicklung als auch eine Produktionsumgebung auf einem einzelnen Server ausführen, auf dem Opcache aktiviert ist?

Wenn Ihr Server mehrere Apps ausführt, sind Sie möglicherweise bereit, Opcache nur in einigen von ihnen zu verwenden. Entwicklungs- und Teststellen sind Beispiele für solche Umgebungen, in denen das Aktivieren von Bytecode -Caching nicht vorzuziehen ist und mehr Schaden als Nutzen verursachen kann.

Glücklicherweise ist es möglich, Opcache in einem Projekt aktiviert und in einem anderen auf einem einzigen Server deaktiviert zu werden. Zuerst müssen Sie den Opcache auf globaler Ebene aktivieren, indem Sie die Opcache.Enable -Anweisung in Ihre Php.ini -Datei festlegen. Wenn Sie dann in einem Ihrer Projekte kein Bytecode -Caching verwenden möchten, deaktivieren Sie es einfach, indem Sie dieselbe Richtlinie mit der Funktion ini_set () auf die gleiche Richtlinie festlegen. Zuerst müssen Sie das globale Caching aktivieren und können es dann in einigen Projekten „lokal“ deaktivieren. Sie können das Gegenteil nicht tun - das Caching mit Ini_Set () zu aktivieren ist nicht zulässig.

Einstellen von Opcache.einbar in eine Top -Datei in Ihrem Projekt deaktiviert das Caching, während es an anderer Stelle eingeschaltet wird.

Zusammenfassung

Ich hoffe, dass dieser Satz gemeinsamer Fragen und Antworten Ihnen einige praktische Informationen zur Verwendung von Opcache in einer PHP -Anwendung gegeben hat. Wenn Sie andere Fragen oder Kommentare zum Thema haben, können Sie sie unten veröffentlichen. Sie können mich auch über Google Plus kontaktieren.

häufig gestellte Fragen zu Opcache

Was ist die Hauptfunktion von Opcache in PHP? Dadurch muss PHP auf jede Anforderung Skripte geladen und analysiert werden, wodurch die Ausführungszeit und die Speicherverwendung verkürzt werden. Es ist besonders vorteilhaft für Websites mit hohem Verkehr oder komplexe Anwendungen, da es die Ladezeit erheblich beschleunigen und die Gesamtleistung verbessern kann.

Wie unterscheidet sich Opcache von anderen Caching -Mechanismen? Caching -Mechanismen, die die Ausgabe von PHP -Skripten speichern, speichert den vorkompilierten Bytecode von PHP -Skripten. Dies bedeutet, dass der PHP -Code nicht jedes Mal neu kompiliert werden muss, wenn eine Anfrage gestellt wird, was eine Menge Verarbeitungszeit und Ressourcen spart. Dies macht Opcache eine effizientere und effektivere Lösung zur Verbesserung der PHP -Leistung.

Wie kann ich Opcache in meiner PHP -Konfiguration aktivieren? Suchen Sie nach dem mit der Bezeichnung "Opcache] bezeichneten Abschnitt und ändern Sie den Wert von opcache. Vernäht auf 1. Wenn der Abschnitt oder die Anweisung nicht vorhanden ist, können Sie diese hinzufügen. Speichern Sie die Datei, nachdem Sie die Änderungen vorgenommen haben, und starten Sie Ihren Webserver neu, damit die Änderungen wirksam werden sollen. Verwenden Sie die Funktion opcache_get_status () in PHP. Diese Funktion gibt eine Reihe von Informationen über den Opcache -Status zurück, einschließlich der Konfigurationseinstellungen, der Speicherverwendung und der Trefferquote. Sie können diese Informationen verwenden, um zu überprüfen, ob Opcache korrekt und effizient funktioniert. Php. Diese Funktion löscht den Opcache und zwingt PHP, die Skripte auf der nächsten Anfrage neu zu kompilieren. Beachten Sie jedoch, dass das häufigste Löschen des Opcache die Leistung negativ beeinflussen kann, da er den Zweck des Zwischenspeichers zunimmt. Verbessern Sie die PHP -Leistung, es ist nicht ohne potenzielle Probleme oder Einschränkungen. Beispielsweise kann dies zu Problemen mit dateibasierten Sitzungen oder Datei-basierten Benutzerdatenspeicher führen, da es die Skripte nicht neu kompiliert, es sei denn, der Zeitstempel der Datei ändert sich. Außerdem ist es für Websites mit geringem Verkehr oder einfache Anwendungen möglicherweise nicht so effektiv, da die Leistungssteigerung möglicherweise nicht spürbar ist.

Wie kann ich die OPCACHE -Konfiguration für maximale Leistung optimieren? Zum Beispiel können Sie den Opcache.Memory_Conbumkt erhöhen, um mehr Speicher für die Speicherung des vorkompilierten Bytecode zuzuweisen. Sie können auch die opcache.revalidate_freq anpassen, um zu steuern, wie oft OPCACHE über Änderungen in den Skripten prüft. Es ist jedoch standardmäßig ab PHP 5.5 enthalten. Für frühere Versionen müssen Sie es als PECL -Erweiterung installieren.

Kann ich Opcache mit anderen Caching -Mechanismen verwenden? Redis. Während Opcache die PHP -Leistung verbessert, indem sie den vorkompilierten Bytecode zwischengespeichert, können andere Caching -Mechanismen die Leistung weiter verbessern, indem die Datenbankabfragen oder die Ausgabe von PHP -Skripten zwischengeeignet sind.

Ist Opcache für alle Arten von Websites oder Anwendungen geeignet? 🎜>

opcache ist besonders vorteilhaft für Websites mit hohem Verkehr oder komplexe Anwendungen, da es die Belastung erheblich beschleunigen kann Zeit und Verbesserung der Gesamtleistung. Es ist jedoch möglicherweise nicht so effektiv für Websites mit geringem Verkehr oder einfache Anwendungen, da der Leistungsverstärkung möglicherweise nicht spürbar ist. Außerdem kann dies zu Problemen mit dateibasierten Sitzungen oder dateibasierten Benutzerdatenspeicher führen. Sie sind daher nicht für alle Arten von Websites oder Anwendungen geeignet.

Das obige ist der detaillierte Inhalt vonOpcache verstehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage