Hervorragende Software und praktische Tutorials
Installieren Sie Memcached, um WordPress zu erweitern. Die Zugriffsgeschwindigkeit der Website ist langsam und erfordert eine LCP-Optimierungslösung
InstallierenMemcachedErweiterungen Benehmen LCP-Optimierung LCP ist ein von Google in den letzten Jahren eingeführter Indikator zur Website-Bewertung. Die beiden wichtigsten Indikatoren für LCP (Largest Contentful Paint) sind LCP und CLS. Wenn LCP auf eine Genauigkeit von 2 Sekunden optimiert ist, erhöht sich die Wahrscheinlichkeit, dass die Website in Google-Suchen angezeigt wird.WordPressEs gibt viele beliebteCache-PluginSie können ein Cache-Plugin installieren. Unabhängig von der Cache-Optimierung müssen Sie die anfängliche Serverantwortzeit verkürzen. Vor der LCP-Optimierung müssen Sie zunächst den Server-Cache konfigurieren.
Spezifische Referenzen zu LCP:Optimieren Sie die größte Contentful Paint
Darstellung der Gründe, warum eine URL nicht als gute URL gilt.
Serverseitige Caching-Tools
Caching (oder Inhaltscaching) ist eine weit verbreitete Technik zum Speichern von Datenkopien in einem temporären Speicherort (auch Cache genannt), sodass die Daten im Vergleich zum Abrufen aus dem ursprünglichen Speicher einfach und schnell abgerufen werden können. Je nach Art und Zweck des Caches können die im Cache gespeicherten Daten Dateien oder Dateifragmente (wie HTML-Dateien, Skripte, Bilder, Dokumente usw.), Datenbankoperationen oder -datensätze, API-Aufrufe, DNS-Einträge usw. umfassen.
Es gibt viele hervorragende Open Source-Caching-Tools für Linux-Server, wie beispielsweise Memcached und Redis. Im Folgenden wird hauptsächlich die Verwendung von Memcached vorgestellt.
Memcached
Memcached ist ein kostenloses, Open Source, einfaches, aber leistungsstarkes verteiltes Objekt-Caching-System. Es ist ein In-Memory-Schlüssel-Wert-Speicher zur Speicherung kleiner Datenmengen, beispielsweise der Ergebnisse eines Datenbankaufrufs, eines API-Aufrufs oder eines Seiten-Renderings. Es läuft auf Unix-ähnlichen Betriebssystemen (einschließlich Linux und OS X) sowie unter Microsoft Windows.
Was ist Memcached?
Kostenloses, Open Source-Hochleistungssystem für das Caching von Objekten im verteilten Speicher, das grundsätzlich für allgemeine Zwecke gedacht ist, aber zur Beschleunigung dynamischer Webanwendungen durch Verringerung der Datenbanklast konzipiert ist.
Memcached ist ein In-Memory-Schlüssel-Wert-Speicher zum Speichern beliebiger kleiner Datenmengen (Zeichenfolgen, Objekte), die aus Datenbankaufrufen, API-Aufrufen oder Seiten-Rendering-Ergebnissen stammen.
Memcached ist einfach und dennoch leistungsstark. Sein schlichtes Design ermöglicht eine schnelle Bereitstellung, einfache Entwicklung und löst viele Probleme großer Datencaches. Die API ist für die meisten gängigen Sprachen verfügbar.
Offizielle Memcached-Website :http://memcached.org
Neueste stabile Version: memcached-1.6.18.tar.gz (10.01.2023)
Memcached-Installation
Debian/Ubuntu: apt-get install libevent-dev Redhat/Centos: dnf install libevent-devel
Quellcode herunterladen, kompilieren und installieren
wget http://memcached.org/latest tar -zxvf memcached-1.6.18.tar.gz cd memcached-1.6.18 ./configure && make && make test && sudo make install
Nach der Installation müssen Sie starten
# Überprüfen, ob Memcache installiert ist ls -al /usr/local/bin/mem* # Memcache-Dienst starten /usr/local/bin/memcached -d -m 200 -u www -p 11211 -c 256 -P /tmp/memcached.pid
Beschreibung der Memcache-Parameter:
- Die Option -d startet einen Daemonprozess.
- -m ist die Speichermenge, die Memcache zugewiesen ist, in MB, in meinem Fall sind es 10 MB
- -u ist der Benutzer, der Memcache ausführt, hier ist es root
- -l ist die IP-Adresse des Listening-Servers. Falls mehrere Adressen vorhanden sind, habe ich hier die Server-IP-Adresse 202.207.177.177 angegeben.
- -p ist der Port, auf dem Memcache lauscht. Ich habe ihn auf 11211 eingestellt. Es ist besser, einen Port über 1024 zu verwenden.
- Die Option -c gibt die maximale Anzahl gleichzeitiger Verbindungen an. Der Standardwert ist 1024. Ich habe ihn auf 256 gesetzt. Passen Sie ihn an die Auslastung Ihres Servers an.
- -P dient zum Festlegen der PID-Datei zum Speichern von Memcache. Ich speichere sie in /tmp/memcached.pid
Installation über das Software-Repository
dnf installiere libevent-devel memcached
Nach der Installation stellen Sie es so ein, dass es beim Booten startet
#Starten Sie systemctl start memcached #Setzen Sie den Startvorgang systemctl enable memcached #Zeigen Sie den aktuellen Status systemctl status memcached an
Memcached-Änderungscachegröße
Ändern Sie nach Abschluss der Installation die Cachegröße von Memcached. Der Standardwert beträgt 64 MB. Ändern Sie den Cache auf 1024 MB.
Offen /etc/sysconfig/memcached Ändern Sie die CACHESIZE-Datei wie folgt:1024
PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="1024" OPTIONS="-l 127.0.0.1,::1,controller"
Nachdem die Änderung abgeschlossen ist,systemctl restart memcached
Starten Sie den Dienst neu
ps -ef | grep memcached
Überprüfen Sie, ob die Konfiguration wirksam ist
Nachdem Memcached installiert ist, müssen Sie, wenn Memcached auf Ihrer Website ordnungsgemäß funktionieren soll, auchMemcached-Erweiterungen.
Installieren Sie die Memcached-Erweiterung
Hinweis: Bevor Sie Memcached installieren, sollten Sie wissen, dass es zwei Arten von PHP-Erweiterungen gibt: die Memcache-Erweiterung und die Memcached-Erweiterung. Die Memcached-Erweiterung ist eine aktualisierte Version der Memcache-Erweiterung und bietet mehr Funktionen und eine bessere Leistung. Achten Sie darauf, nicht die falsche Erweiterung zu installieren.
- Memcache ist eine Version der PECL-Erweiterungsbibliothek, die natives PHP unterstützt und zur ersten Cache-Generation gehört.
- memcached ist eine neuere Version von libmemcached. Es handelt sich um eine neue Cache-Generation und ist umfassender. Die Verwendung von memcached wird empfohlen.
Der Installationspfad und der Konfigurationsort von PHP8.0, das von DNF installiert wird, lauten wie folgt:
- Installationspfad von PHP, das vom RPM-Paket installiert wurde: /usr/bin/php-config
- PHP-Konfigurationsdatei: /etc/php.ini
Im Folgenden finden Sie die Installationsmethoden für die Memcache-Erweiterung und die Memcached-Erweiterung. Wenn Sie die Memcache-Erweiterung nicht installieren müssen, können Sie direkt zur Installationsmethode der Memcached-Erweiterung springen.
QuellinstallationMemcacheErweiterungen
Installieren Sie die für die Memcache-Erweiterung erforderlichen Abhängigkeiten.
dnf installiere zlib zlib-devel
Schritt 1: Öffnenhttps://pecl.php.net/package/memcacheLaden Sie das Installationspaket der Memcache-Erweiterung für PHP8 herunter.
Hinweis: Das Installationspaket der Memcache-Erweiterung ist für verschiedene PHP-Versionen unterschiedlich. Suchen Sie die entsprechende Version und installieren Sie sie.
Installationspaket der Memcache-Erweiterung für PHP8: https://pecl.php.net/get/memcache-8.0.tgz
Schritt 2: Melden Sie sich beim Server an, laden Sie das Installationspaket der Memcache-Erweiterung herunter und entpacken Sie es
wget https://pecl.php.net/get/memcache-8.0.tgz tar -xvf memcache-8.0.tgz cd memcache-8.0
Schritt 3: Memcache-Erweiterung installieren
phpize ./configure --with-php-config=/usr/bin/php-config make && make install
Nach erfolgreicher Installation wird der Installationsort angezeigt. Gemeinsam genutzte Erweiterungen installieren: /usr/lib64/php/modules/
Schritt 4: Ändern Sie die Datei php.ini, aktivieren Sie die Memcache-Erweiterung und fügen Sie am Ende der Datei php.ini den folgenden Inhalt hinzu.
Erweiterung = Memcache
Testen Sie, ob die PHP-Konfiguration korrekt ist und starten Sie anschließend den PHP-Dienst neu
php-fpm -t systemctl Neustart php-fpm
Überprüfen Sie die PHP-Probedatei und die Erweiterung startet normal
QuellinstallationMemcachedErweiterungen
Schritt 1: Öffnenhttps://pecl.php.net/package/memcachedLaden Sie php8 herunterMemcached-ErweiterungenInstallieren Sie das Paket.
Hinweis: Die PHP-Versionen sind unterschiedlich.Memcached-ErweiterungenAuch die Installationspakete sind unterschiedlich, suchen Sie die entsprechende Version und installieren Sie diese.
Installationspaket der Memcached-Erweiterung für PHP8:memcached-3.2.0.tgz
Schritt 2: Melden Sie sich beim Server an, laden Sie das Installationspaket der Memcached-Erweiterung herunter und entpacken Sie es
wget https://pecl.php.net/get/memcached-3.2.0.tgz tar -xvf memcached-3.2.0.tgz cd memcached-3.2.0
memcached, diese Erweiterung erfordert die Clientbibliothek libmemcached, andernfalls tritt der folgende Fehler auf:
Fehler: Memcached-Unterstützung erfordert libmemcached. Verwenden Sie --with-libmemcached-dir= um das Präfix anzugeben, in dem sich die Header und die Bibliothek von libmemcached befinden
dnf installiere libmemcached libmemcached-devel remi-libmemcached-awesome
Hinweis: Wenn libmemcached-devel nicht im Software-Repository verfügbar ist, können Sie es herunterladen und installieren
wget https://vault.centos.org/centos/8/PowerTools/x86_64/os/Packages/libmemcached-devel-1.0.18-15.el8.x86_64.rpm dnf --enablerepo=powertools installiere libmemcached-devel
Schritt 3:Installieren Sie die Memcached-Erweiterung
phpize ./configure --with-php-config=/usr/bin/php-config make && make install
Nach erfolgreicher Installation wird der Installationsort angezeigt. Gemeinsam genutzte Erweiterungen installieren: /usr/lib64/php/modules/
Schritt 4: Ändern Sie die Datei php.ini, aktivieren Sie die Memcached-Erweiterung und fügen Sie am Ende der Datei php.ini den folgenden Inhalt hinzu.
Erweiterung = memcached
Testen Sie, ob die PHP-Konfiguration korrekt ist und starten Sie anschließend den PHP-Dienst neu
php-fpm -t systemctl Neustart php-fpm
Sehen Sie sich die PHP-Probedatei an.Memcached-ErweiterungenNormaler Start
Sie können die Memcached-Erweiterung mit dem Befehl pecl installieren, ohne den Quellcode herunterzuladen.
pecl install memcached
Wissenspunkte:Wenn Sie die PHP-Erweiterung nicht mit dnf im Software-Repository installieren können, können Sie sie mit dem Befehl pecl im offiziellen PHP-Erweiterungs-Repository installieren.
Nach der Installation der Memcached-Erweiterung müssen Sie WordPress und Memcached verbinden. Wenn Sie die Server- und die Web-Seite nicht verbinden, funktioniert der Memcached-Cache nicht.
WordPress Memcached-Konfiguration
Fügen Sie den folgenden Inhalt zu wp-config.php hinzu.
global $memcached_servers; $memcached_servers = Array(Array('127.0.0.1', // IP-Adresse des Memcached-Servers 11211 // Port des Memcached-Servers));
Wenn Sie über mehrere Site-Cache-Einstellungen verfügen, beachten Sie Folgendes:
global $memcached_servers; $memcached_servers = Array(Array('1.2.3.4', 11211), Array('1.2.3.5', 11211));
Memcached überwacht IP und Port. Sie können es mit dem folgenden Befehl anzeigen:
netstat -nutlp | grep memcache
Konfigurieren von Memcached in WordPress mithilfe eines Cache-Plugins
W3TC kann derzeit den Memcached-Speichercache in der Plug-In-Schnittstelle konfigurieren, ohne dass eine komplexe Konfiguration erforderlich ist und der Code nicht geändert werden muss usw. W3TC ist leistungsstark und verfügt über zahlreiche Cache-Konfigurationsoptionen.WP MeteorPlugin-Nutzung.
So überwachen Sie, ob Memcached ordnungsgemäß funktioniert
Klicken Sie hier, um die Überwachungsdatei memcache.php herunterzuladen
Laden Sie die Datei memcache.php nach dem Herunterladen in das WordPress-Verzeichnis auf dem Server hoch. Ändern Sie vor dem Hochladen das Zugriffskennwort in der Datei.
$VERSION='$Id$'; define('ADMIN_USERNAME','Benutzernamen festlegen'); // Administrator-Benutzername define('ADMIN_PASSWORD','Passwort festlegen'); // Administrator-Passwort define('DATE_FORMAT','J/m/d H:i:s'); define('GRAPH_SIZE',200); define('MAX_ITEM_DUMP',50); $MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // weitere als Array hinzufügen //$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // Wenn es sich um einen Multi-Site-Speichercache handelt, legen Sie ihn hier fest
Besuchen Sie nach dem Hochladen die URL-Adresse der Datei memcache.php, um die Arbeitsseite des Speichercaches anzuzeigen.
Zend OPcache-Konfiguration
verwenden Opcache Mit OPcache können wir die Ausführungseffizienz von PHP-Code verbessern und den Aufwand für das Laden und Parsen von PHP-Skripten reduzieren. OPcache ist in PHP8 standardmäßig aktiviert.
PHP-Konfiguration JIT: PHP 8 fügt dem PHP-Kernel einen JIT-Compiler hinzu, der die Leistung erheblich verbessern kann. Dank der stärkeren CPU-intensiven Verarbeitung kann PHP in Zukunft möglicherweise auch komplexe Protokollanalysen durchführen.
Erstens funktioniert JIT nur, wenn Opcache aktiviert ist, was bei den meisten PHP-Installationen der Standard ist. Stellen Sie jedoch sicher, dass opcache.enable in Ihrer php.ini-Datei auf 1 gesetzt ist. JIT wird über opcache.jit_buffer_size eingestellt.
Konfigurieren Sie einfach php.ini und fügen Sie am Ende von php.ini hinzu:
opcache.enable=1 opcache.jit_buffer_size=100M opcache.jit=1255 opcache.revalidate_freq=0 opcache.validate_timestamps=0 opcache.max_accelerated_files=7963 opcache.memory_consumption=192 opcache.interned_strings_buffer=16 opcache.fast_shutdown=1
opcache.revalidate_freq
Mit dieser Option legen Sie die Ablaufzeit des Caches (in Sekunden) fest. Nach Ablauf dieser Zeit prüft opcache, ob sich Ihr Code geändert hat. Ist dies der Fall, kompiliert PHP ihn neu, generiert neue Opcodes und aktualisiert den Cache. Der Wert „0“ bedeutet, dass Ihr PHP-Code bei jeder Anfrage auf Aktualisierungen geprüft wird (dadurch werden viele Stat-Systemaufrufe hinzugefügt. Hinweis: Der Stat-Systemaufruf dient zum Lesen des Dateistatus. Hier geht es hauptsächlich darum, den Zeitpunkt der letzten Änderung zu ermitteln. Dieser Systemaufruf verursacht Festplatten-E/A-Vorgänge und verbraucht daher zwangsläufig etwas CPU-Zeit. Natürlich verbraucht auch der Systemaufruf selbst etwas CPU-Zeit). In der Entwicklungsumgebung können Sie den Wert auf „0“ setzen. In der Produktionsumgebung ist dies jedoch kein Problem, da weiter unten eine weitere Einstellungsoption vorgestellt wird.
opcache.validate_timestamps
Wenn diese Option aktiviert ist (auf 1 gesetzt), überprüft PHP den Zeitstempel der Datei nach der in opcache.revalidate_freq festgelegten Zeit.
Ist diese Option deaktiviert (auf 0 gesetzt), wird opcache.revalidate_freq ignoriert und PHP-Dateien werden nicht geprüft. Das bedeutet: Wenn Sie Ihren Code ändern, ihn anschließend auf dem Server aktualisieren und anschließend die entsprechende Funktion des aktualisierten Codes im Browser anfordern, sehen Sie die Auswirkungen der Aktualisierung nicht und müssen Ihr PHP neu laden (erzwingen Sie ein Neuladen mit kill -SIGUSR2).
Diese Einstellung ist etwas ärgerlich, aber ich empfehle dringend, sie in einer Produktionsumgebung zu verwenden. Warum? Weil sich der Aktualisierungsvorgang verzögert, wenn beim Aktualisieren des Servercodes viel Code vorhanden ist. Während dieser Verzögerung kommt es zwangsläufig zu einer Vermischung von altem und neuem Code. Dies führt zwangsläufig zu Unsicherheiten bei der Bearbeitung von Benutzeranfragen.
opcache.max_beschleunigte_Dateien
Diese Option steuert, wie viele PHP-Dateien maximal im Speicher zwischengespeichert werden können. Diese Option muss so groß eingestellt sein, dass sie größer ist als die Summe aller PHP-Dateien in Ihrem Projekt. Meine Codebasis umfasst etwa 6000 PHP-Dateien, daher habe ich diesen Wert auf die Primzahl 7963 gesetzt (Anmerkung des Übersetzers: Ich weiß nicht, warum dieser Typ diese Zahl festgelegt hat, und 7963 ist nicht die kleinste Primzahl größer als 6000). Mit dem Befehl „find . -type f -print | grep php | wc -l“ können Sie die Anzahl der PHP-Dateien in Ihrer Codebasis schnell berechnen.
opcache.memory_consumption
Der Standardwert für diese Option beträgt 64 MB. Ich habe ihn aufgrund des großen Codes auf 192 MB gesetzt. Sie können den von opcache insgesamt verwendeten Speicher durch Aufruf von opcachegetstatus() ermitteln. Ist dieser Wert zu hoch, können Sie diese Option auf einen höheren Wert setzen.
opcache.interned_strings_buffer
Dies ist eine sehr nützliche Option, scheint aber völlig undokumentiert zu sein. PHP verwendet eine Technik namens String-Internierung, um die Leistung zu verbessern. Wenn Sie beispielsweise den String „foobar“ 1000 Mal in Ihrem Code verwenden, reserviert PHP nur beim ersten Mal einen unveränderlichen Speicherbereich für den String. Die weiteren 999 Verwendungen verweisen direkt auf diesen Speicherbereich. Diese Option erweitert diese Funktion.
Standardmäßig ist dieser unveränderliche Speicherbereich nur in einem einzigen PHP-FPM-Prozess vorhanden. Ist diese Option aktiviert, wird er von allen PHP-FPM-Prozessen gemeinsam genutzt. Bei größeren Anwendungen kann dies sehr effektiv sein, um Speicher zu sparen und die Anwendungsleistung zu verbessern.
Der Wert dieser Option wird in Megabyte angegeben. Ein Wert von 16 entspricht 16 MB. Der Standardwert ist 4 MB, was ein relativ niedriger Wert ist.
opcache.fast_shutdown
Eine weitere sehr nützliche, aber undokumentierte Option. Wörtlich bedeutet sie „schnelleres Herunterfahren ermöglichen“. Sie bietet einen schnelleren Mechanismus zum Aufrufen von Destruktoren im Code am Ende einer einzelnen Anfrage. Dadurch wird die Reaktionsgeschwindigkeit von PHP und die Wiederverwendung von PHP-Prozessressourcen beschleunigt, sodass die Anwendung schneller auf die nächste Anfrage reagieren kann. Setzen Sie den Wert auf 1, um diesen Mechanismus zu nutzen.