„Laufzeiteinstellungen“: Hier werden die Konfigurationsinformationen des laufenden APC angezeigt. Wir können die APC-Parameter entsprechend unseren Anforderungen anpassen. Die Parametereinstellungen werden in php.ini vorgenommen.
Es gibt viele apc-Parameter:
1 apc.cache_by_default und apc.filters: apc.cache_by_default, ob der Systemcache aktiviert werden soll, wird normalerweise in Kombination mit apc.filters verwendet und dient zur Steuerung von PHP-Dateien, die zwischengespeichert werden müssen, und solchen, die nicht zwischengespeichert werden müssen. Der Wert des apc.filters-Parameters ist eine durch Kommas getrennte Liste erweiterter POSIX-regulärer Ausdrücke. Wenn das erste Zeichen des regulären Ausdrucks + ist, werden die übereinstimmenden Dateien im Cache gespeichert , wenn -, dann werden keine passenden Dateien zwischengespeichert.
Demo1: Systemcache ausschalten, nur Dateien zwischenspeichern, die mit a und b beginnen, andere Dateien werden nicht zwischengespeichert
apc.cache_by_default = 0 apc.filters=+a.*.php,+b.*.php
Demo2: Systemcache einschalten, Dateien nicht zwischenspeichern Beginnend mit den Dateien a und b werden andere Dateien zwischengespeichert
apc.cache_by_default = 1 apc.filters = -a.*.php,-b.*.php
2 apc.shm_size und apc.shm_segments: apc.shm_size, die Größe jedes gemeinsam genutzten Speicherblocks in MB. Der Systemcache und der Benutzercache werden gemeinsam genutzt, und Sie können die Größe des gemeinsam genutzten Speicherblocks des APC ändern, indem Sie diesen Wert anpassen. Wenn der Wert von apc.shm_size auf den maximalen Wert eingestellt wurde, den das System erreichen kann, und dieser immer noch nicht ausreicht, müssen wir apc.shm_segments verwenden. Die Bedeutung dieser Option ist die Anzahl der gemeinsam genutzten Speicherblöcke, die zugewiesen werden sollen Wir können diesen Wert anpassen, um die Anzahl der gemeinsam genutzten Speicherblöcke zu ändern (zum Zeitpunkt des Tests war diese Option jedoch nicht wirksam).
3 apc.stat: Wird verwendet, um zu erkennen, ob das Skript aktualisiert wurde. Es wird standardmäßig erkannt, ob das Skript aktualisiert wurde Wenn die Skriptdatei in der Produktionsumgebung nicht verfügbar ist, können wir sie deaktivieren, sodass die Leistung erheblich verbessert wird. Der Nachteil besteht darin, dass der Webserver neu gestartet werden muss (falls erforderlich). es ist nginx, php-fpm neu starten), damit es wirksam wird.
4 apc.ttl und apc.user_ttl: Die Anzahl der Sekunden, die der Cache-Eintrag im Puffer bleiben darf. Der Unterschied besteht darin, dass apc.ttl für den Systemcache und apc.user_ttl für den Benutzercache bestimmt ist. Während des Tests zeigten diese beiden Optionen keine gute Leistung. Wenn der Wert beispielsweise auf 10 eingestellt ist, liegt es nahe, dass diese Cache-Einträge gelöscht werden, wenn nicht innerhalb von 10 Sekunden darauf zugegriffen wird. Diese Einträge sind noch vorhanden und können nicht gelöscht werden.
5 apc.num_files_hint und apc.user_entries_hint: Eine grobe Schätzung der Anzahl verschiedener Quelldateien, die auf dem Webserver enthalten oder angefordert sind. apc.num_files_hint ist für den Systemcache und apc.user_entries_hint für Der Benutzercache. Wie die Cache-Zeit scheint auch die Cache-Menge keine Auswirkung zu haben. Wenn die Menge beispielsweise auf 3 eingestellt ist, werden Dateien, die 3 überschreiten, immer noch zwischengespeichert.
In Bezug auf die Cache-Zeit und die Cache-Menge wird möglicherweise nicht der erwartete Effekt erzielt. Wenn jemand ein tiefes Verständnis dieser Parameter hat Recherche, ich hoffe, Sie können mich aufklären.
Zusammenfassung:
1 Im offiziellen Handbuch von APC heißt es eindeutig, dass APC zwei Hauptkonfigurationsoptionen hat: eine ist, wie viel Speicher APC zugewiesen werden soll (Option apc.shm_size), und die andere ist Fragen Sie apc jedes Mal, ob Dateiänderungen überprüft werden sollen (Option apc.stat). Es ist ersichtlich, dass diese beiden Optionen für apc von entscheidender Bedeutung sind.
2 apc.cache_by_defaultDas Öffnen und Schließen wirkt sich nur auf den Systemcache aus und hat keine Auswirkungen auf den Benutzercache.
3 Der gemeinsam genutzte Speicherblock von APC wird vom System-Cache und dem Benutzer-Cache gemeinsam genutzt.
4 APC 3.1.15-Dev-Version, PHP 5.5.10, Betriebssystem Centos6.5, die Einstellung apc.shm_segments wurde nicht wirksam.
5 Wenn der APC-Cache voll ist, verhalten sich der System-Cache und der Benutzer-Cache unterschiedlich. Wenn die System-Cache-Datei bei Anforderung das Cache-Limit erreicht, löscht APC alle anderen System-Cache-Dateien mit Ausnahme der Anfrage Wenn die Benutzer-Cache-Variable während der Anforderung das Cache-Limit erreicht, werden alle anderen Benutzer-Cache-Variablen außer der Anforderungsvariablen gelöscht, was bedeutet, dass sich der System-Cache und der Benutzer-Cache nicht gegenseitig beeinflussen.
Oben wurde eine kurze Analyse der APC-Erweiterung (2) von PHP vorgestellt, einschließlich Aspekten des Inhalts. Ich hoffe, dass sie für Freunde, die sich für PHP-Tutorials interessieren, hilfreich sein wird.