RealPath_Cache_Size ist bei der Durchführung der PHP -Leistungsoptimierung häufig übersehen. Es wirkt sich aus, wie PHP die Dateipfadauflösung umgeht, die in jedem Dateivorgang aufgerufen werden kann, sodass der Optimierungseffekt in großen Projekten besonders offensichtlich ist.
Wenn Sie in PHP verwenden, müssen PHP den Pfad analysieren, den Sie als absolute Pfad übergeben, bei Verwendung , Erforderlich , file_exists () oder is_readable () . Dieser Analyseprozess umfasst das Festplatten-IO, insbesondere in Systemen, in denen Dateisysteme komplex sind oder eine große Anzahl symbolischer Links verwenden, was sehr leistungsintensiv ist.
Um diesen Vorgang zu beschleunigen, bietet PHP einen "Realpath -Cache", der die Ergebnisse der Parsen -Pfade zwischengespeichert und wiederholtes Parsen vermeidet. Die Größe dieses Cache wird von RealPath_Cache_Size gesteuert.
Sie können die aktuelle Realpath -Cache -Verwendung auf folgende Weise anzeigen:
<Code> var_dump (realpath_cache_size ()); var_dump (realPath_cache_get ()); </code>In der Php.ini -Datei kann der Standard -Realpath_Cache_Size nur 16K sein, was für komplexe Projekte weit ausreicht. Wir können seinen Wert erhöhen, um:
<code> realpath_cache_size = 4096k </code>Oder Sie können es zur Laufzeit über ini_set vorübergehend festlegen:
<Code> ini_set ('realpath_cache_size', '4096K'); </code>Es ist erwähnenswert, dass je größer der Wert ist, desto besser. Übermäßiger Cache kann Speicherabfälle verursachen. Der empfohlene Ansatz besteht darin, ihn durch die tatsächliche Überwachung zu ändern. Sie können die Funktion realpath_cache_get () kombinieren, um die Cache -Trefferquote und die aktuelle Speicherverwendung zu beobachten.
Angenommen, Sie entwickeln ein großes Rahmen oder führen eine Laravel -Anwendung aus, die auf einer großen Anzahl von Autoloads beruht, und es gibt Tausende von Pfadauflösungsvorgängen im System. Wenn Sie RealPath_Cache_Size nicht anpassen, können Sie auf Leistungs Engpässe bei bestimmten hohen Lasten begegnen.
Über einfache Einzeilenkonfiguration einstellen:
<code> realpath_cache_size = 4096k </code>Dies kann den Overhead von PHP in der Pfadauflösung erheblich verringern und damit die Gesamt -Reaktionsgeschwindigkeit verbessert.
Sie können auch die Frequenz von PHP -Prozessen von Dateisystemen über Tools wie Strace oder Dtruss (auf macOS) überwachen und Vergleich und Analyse vor und nach der Einstellung durchführen.
Überwachen Sie weiter : Verwenden Sie realpath_cache_get (), um die Cache -Verwendung regelmäßig zu analysieren.
Angemessene Bewertung : Setzen Sie nicht blind übermäßige Werte und bewerten Sie den Systemspeicher und die Leistungsanforderungen.
Verwenden Sie in Kombination mit OPCache : Wenn OPCache aktiviert ist, kann Realpath Cache die Effizienz der eingeschlossenen Dateipfadauflösung weiter verbessern.
Multi-Umwelt-Konfiguration : Die Entwicklungsumgebung kann einen niedrigeren Wert zum Speichern des Speichers festlegen, während die Produktionsumgebung empfohlen wird, um sie zu verbessern.
RealPath_Cache_Size ist ein zurückhaltendes, aber effizientes Tool bei der PHP-Leistungsstimmung. Indem Sie es vernünftigerweise festlegen, können Sie den Overhead der Dateipfadauflösung erheblich reduzieren, insbesondere für Projekte mit großen Frameworks und komplexen Verzeichnisstrukturen. Bei der täglichen Entwicklung und Bereitstellung können Sie diesen Parameter auch regelmäßig bewerten und anpassen, damit Ihre PHP -Anwendung schneller und stabiler wird.
Um den Cache -Inhalt in der Tiefe oder des Debugs anzuzeigen, können Sie den folgenden Code verwenden, um die aktuellen Cache -Details auszugeben:
<Code> print_r (realpath_cache_get ()); </code>Das Anpassen von RealPath_Cache_Size besteht darin, zu verhindern, dass PHP Umwege aufnimmt und mehr geradlinige Leitungen einnimmt.