NGINX Config Rewind: Serverion lässt die verlorene Kunst der Proxy-Cache-Optimierung wieder aufleben
Möchten Sie schnellere Websites und eine geringere Serverlast? NGINX-Proxy-Caching ist die Lösung. Durch die Speicherung häufig angeforderter Inhalte wird die Bereitstellung beschleunigt und die Belastung Ihrer Ursprungsserver reduziert. Serverion gibt praktische Tipps zur Optimierung Ihres Cache-Setups für bessere Leistung und Zuverlässigkeit.
Wichtige Erkenntnisse:
- Servieren Sie veraltete Inhalte: Verwenden Sie zwischengespeicherte Antworten während der Server-Ausfallzeit mit
Proxy-Cache-Nutzung_veraltet. - Hintergrundaktualisierungen: Aktualisieren Sie Cache-Einträge, ohne Benutzer zu stören, die
Proxy-Cache-Hintergrundaktualisierung. - Überlastungen vorbeugen: Vermeiden Sie eine Überlastung Ihres Ursprungsservers mit
Proxy-Cache-Sperre.
Beispiel-Setup:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; proxy_cache my_cache; proxy_cache_use_stale wird aktualisiert; proxy_cache_background_update ein; proxy_cache_lock ein; Diese Einstellungen gewährleisten schnelle Reaktionen, effiziente Ressourcennutzung und zuverlässige Inhaltsbereitstellung. Egal, ob Sie ein kleiner VPS oder ein Server mit hohem Datenverkehr: Diese Techniken können Ihnen dabei helfen, das Beste aus dem NGINX-Proxy-Caching herauszuholen.
NGINX: Inhalts-Caching mit Reverse-Proxy (superschnell …

Grundlagen des NGINX-Proxy-Caching
Die Cache-Tuning-Techniken von Serverion basieren auf den Kernprinzipien des NGINX-Proxy-Cachings, bei dem Kopien von Originalinhalten gespeichert und bereitgestellt werden. Das System verwendet drei Hauptkomponenten: den Cache-Pfad, eine gemeinsam genutzte Speicherzone und einen Cache-Manager, der abgelaufene oder zuletzt verwendete (LRU-)Dateien entfernt, wenn der Cache sein Limit erreicht.
NGINX-Proxy-Cache-Vorgang
Wenn NGINX eine Anfrage verarbeitet, prüft es zunächst seine gemeinsam genutzte Speicherzone, um festzustellen, ob der angeforderte Inhalt bereits zwischengespeichert ist. Diese In-Memory-Suche ermöglicht eine schnelle Ermittlung von Cache-Treffern oder -Fehlschlägen. Zur Orientierung: Eine 1-MB-Schlüsselzone kann etwa 8.000 Cache-Schlüssel speichern[1].
So funktioniert der Caching-Prozess:
- NGINX hasht die Anfrage, um einen eindeutigen Cache-Schlüssel zu erstellen.
- Es durchsucht die gemeinsam genutzte Speicherzone nach diesem Schlüssel.
- Wenn der Schlüssel gefunden wird (Cache-Treffer), wird der Inhalt direkt aus dem Cache bereitgestellt.
- Wenn der Schlüssel nicht gefunden wird (Cache-Fehler), wird der Inhalt vom Ursprungsserver abgerufen und zur späteren Verwendung im Cache gespeichert.
Serverion optimiert die Leistung, indem es effiziente Schlüsselsuchen gewährleistet und den Cache-Speicher mithilfe von Verzeichnishierarchien organisiert.
Core Cache-Elemente
| Richtlinie | Zweck | Auswirkungen |
|---|---|---|
Proxy-Cache-Pfad | Gibt den Cache-Speicherort an | Bestimmt, wo und wie Inhalte zwischengespeichert werden |
proxy_cache | Aktiviert das Caching für bestimmte Anfragen | Ermöglicht das Caching innerhalb eines Standortblocks |
Schlüsselzone | Reserviert gemeinsamen Speicher für Cache-Schlüssel | Ermöglicht schnelle In-Memory-Lookups |
inaktiv | Definiert, wie lange nicht verwendete Elemente im Cache bleiben | Steuert die Cache-Aktualität und den Zeitpunkt der Auslagerung |
Um die Leistung zu maximieren, verwenden Sie eine zweistufige Ebenen Hierarchie, um Verlangsamungen des Dateisystems zu verhindern. Zusätzlich setzen Sie use_temp_path=aus um zwischengespeicherte Dateien direkt an ihren endgültigen Speicherort zu schreiben und so den E/A-Overhead zu reduzieren.
NGINX respektiert Cache-Anweisungen des Ursprungsservers. Es speichert nur Antworten, die eine Läuft ab Kopfzeile mit einem zukünftigen Datum oder einem Cache-Kontrolle Kopfzeile mit einem Höchstalter Wert größer als Null.
Sie können diese Prinzipien jetzt in Ihrem NGINX-Proxy-Cache-Setup anwenden.
[1] NGINX-Dokumentation: Eine 1 MB große Schlüsselzone speichert Daten für etwa 8.000 Schlüssel.
NGINX Proxy Cache Setup-Handbuch
Erfahren Sie Schritt für Schritt, wie Sie das NGINX-Proxy-Caching konfigurieren und optimieren.
Cache-Parametereinstellungen
Die Grundlage des NGINX-Proxy-Cache-Setups ist die Proxy-Cache-Pfad -Direktive. Hier ist eine Beispielkonfiguration:
proxy_cache_path /var/cache/nginx Ebenen=1:2 Schlüsselzone=mein_Cache:10m max_size=10g inaktiv=60m use_temp_path=aus; Diese Konfiguration erstellt eine zweistufige Verzeichnisstruktur, reserviert 10 MB für die Schlüsselzone (reicht für ungefähr 80.000 Schlüssel), legt eine maximale Cachegröße von 10 GB fest und definiert ein Inaktivitäts-Timeout von 60 Minuten.
Zur besseren Kontrolle können Sie auch diese optionalen Anweisungen einschließen:
| Richtlinie | Zweck |
|---|---|
Proxy-Cache-Nutzung_veraltet | Stellt veraltete Inhalte bereit, wenn die Ursprungsserver nicht verfügbar sind |
proxy_cache_revalidate | Verwendet bedingte GET-Anfragen, um zu prüfen, ob der Inhalt noch gültig ist |
Proxy-Cache-Hintergrundaktualisierung | Aktualisiert veraltete Inhalte im Hintergrund |
Proxy-Cache-Sperre | Verhindert, dass mehrere Anfragen den Ursprungsserver überlasten |
Nachdem Sie diese Parameter definiert haben, weisen Sie Arbeitsspeicher und Speicherplatz basierend auf dem erwarteten Datenverkehr zu.
Cache-Größenverwaltung
Um die Cachegröße effektiv zu optimieren, sollten Sie sowohl die Speicher- als auch die Festplattennutzung berücksichtigen. So geht's:
- Speicherzonengröße Speicher zuweisen für die
Schlüsselzoneum Ihren Caching-Anforderungen gerecht zu werden:keys_zone=enterprise_cache:100m; # Unterstützt ca. 800.000 Cache-Schlüssel - Speicherplatzzuweisung Passen Sie die
Proxy-Cache-PfadSo geben Sie den maximalen Speicherplatz an:Proxy-Cache-Pfad /var/cache/nginx Ebenen=1:2 Schlüsselzone=Enterprise-Cache:100 m Maximalgröße=10 g Inaktiv=24 h Use_Temp_Pfad=aus;
Sobald diese Parameter festgelegt sind, können Sie Ihren Cache initialisieren und aktivieren.
Cache-Initialisierung
Nachdem Sie Ihre Parameter und die Größe feinabgestimmt haben, führen Sie die folgenden Schritte aus, um das Caching zu aktivieren:
- Verwenden Sie die
Proxy-Cache-PfadAnweisung aus dem obigen Beispiel und fügen SieProxy-Cache Mein Cachezu Ihrer Konfiguration. - Aktivieren Sie das Caching innerhalb der relevanten
ServeroderStandortBlock:Proxy-Cache mein_Cache; - Fügen Sie optional eine der zuvor erwähnten Feinabstimmungsanweisungen ein, um die Leistung zu verbessern.
- Überwachen Sie den Cache-Status, indem Sie einen benutzerdefinierten Header hinzufügen:
add_header X-Cache-Status $upstream_cache_status;
Notiz: Laut NGINX-Dokumentation ist ein 1 MB
Schlüsselzonekann ungefähr 8.000 Schlüssel speichern.
Durch diese Konfiguration wird sichergestellt, dass Ihr Cache den Datenverkehr effizient verarbeiten kann und gleichzeitig die Flexibilität für Anpassungen erhalten bleibt.
sbb-itb-59e1987
Enterprise-NGINX-Cache-Verwaltung
Sobald Ihr Cache-Pfad und Ihre Parameter festgelegt sind, ist es an der Zeit, Ihr Setup zu skalieren, um den Datenverkehr auf Unternehmensebene effektiv zu bewältigen.
Optimierung der Cache-Trefferquote
Aktivieren Sie Funktionen wie bedingte Anforderungen und Hintergrundaktualisierungen, um die Cache-Effizienz zu verbessern:
proxy_cache_revalidate ein; proxy_cache_background_update ein; proxy_cache_use_stale wird aktualisiert; Verhindern Sie eine Überlastung Ihres Ursprungsservers, indem Sie die folgenden Einstellungen konfigurieren:
proxy_cache_lock ein; proxy_cache_lock_timeout 5s; proxy_cache_min_uses 2; Verteilen Sie in Umgebungen mit hohem Datenverkehr die Cache-Last auf mehrere Speichergeräte, um die Leistung zu verbessern:
split_clients "${request_uri}" $disk { 20% "/data/cache1"; 20% "/data/cache2"; 20% "/data/cache3"; 20% "/data/cache4"; * "/data/cache5"; } Sobald Ihr Cache hinsichtlich der Leistung optimiert ist, konzentrieren Sie sich darauf, ihn für die Verarbeitung vertraulicher Inhalte zu sichern.
Cache-Sicherheitskontrollen
Um vertrauliche Anfragen zu schützen, umgehen Sie das Caching und passen Sie die Cache-Schlüssel nach Bedarf an:
proxy_cache_bypass $http_pragma; proxy_cache_bypass $cookie_nocache; proxy_ignore_headers Cache-Steuerung; Passen Sie für personalisierte Inhalte oder Cookie-basierte Anfragen den Cache-Schlüssel und die unterstützten Methoden an:
proxy_cache_key "$host$request_uri$cookie_user"; proxy_cache_methods GET HEAD POST; Stellen Sie nach der Sicherung Ihres Caches sicher, dass Sie seine Leistung kontinuierlich überwachen.
Cache-Leistungsüberwachung
Überwachen Sie das Cache-Verhalten mithilfe von Statusdefinitionen, um Ihr Setup zu optimieren:
| Status | Definition |
|---|---|
| AKTUALISIERUNG | Während einer laufenden Aktualisierung werden veraltete Inhalte bereitgestellt |
| REVALIDIERT | Zwischengespeicherter Inhalt wurde mit dem Ursprungsserver erneut validiert |
Analysieren Sie die X-Cache-Status Überprüfen Sie regelmäßig Ihre Metriken und passen Sie die Anweisungen an die Verkehrsmuster an, um optimale Ergebnisse zu erzielen.
ServerionNGINX-Cache-Konfiguration

Serverion passt die NGINX-Cache-Einstellungen an die spezifischen Anforderungen der einzelnen Workloads an. Mithilfe von Kerndirektiven optimieren sie die Cache-Konfigurationen für VPS und dedizierte Server.
Cache-Pfade nach Arbeitslast
VPS-Workloads
Bei VPS-Setups bietet diese Konfiguration ein Gleichgewicht zwischen Speichereffizienz und schnellen Reaktionszeiten:
Proxy-Cache-Pfad /data/nginx/cache Ebenen=1:2 Schlüsselzone=SERVERCACHE:10 m max. Größe=10 g inaktiv=60 m temporärer Verwendungspfad=aus; Proxy-Cache-Schlüssel "$scheme$request_method$host$request_uri"; Proxy-Cache_gültig 200 302 60 m; Proxy-Cache_gültig 404 1 m; Der Schlüsselzone Die Größe ist auf etwa 80.000 Schlüssel eingestellt.
Dedicated Servers
Für Anwendungen mit hohem Datenverkehr auf dedizierten Servern verwendet Serverion ein verteiltes Caching-System über mehrere SSDs:
Proxy-Cache-Pfad /Cache1 Ebenen=1:2 Schlüsselzone=Cache1:10m; Proxy-Cache-Pfad /Cache2 Ebenen=1:2 Schlüsselzone=Cache2:10m; Proxy-Cache-Pfad /Cache3 Ebenen=1:2 Schlüsselzone=Cache3:10m; Split-Clients "${Anforderungs-URI}" $cachezone { 33% "Cache1"; 33% "Cache2"; * "Cache3"; } Dieses Setup verteilt Cache-Schreibvorgänge gleichmäßig auf drei SSDs unter Verwendung der split_clients Richtlinie.
Spezifische Werte für diese Konfigurationen werden aus der Cache-Parameter-Referenztabelle von Serverion abgeleitet.
Infrastruktureinstellungen
Um die Leistung weiter zu verbessern, werden die NGINX-Worker-Einstellungen angepasst, um die Cache-Eingabe und -Ausgabe effizient zu handhaben:
worker_processes auto; worker_connections 1024; worker_cpu_affinity 0-3; # richtet Arbeiter an CPU-Kerne aus Diese Anpassungen stellen sicher, dass zwischengespeicherte Antworten mit maximaler Effizienz übermittelt werden.
Zusammenfassung: NGINX Cache Tuning-Ergebnisse
Serverion verbesserte die Leistung und Zuverlässigkeit seiner Hosting-Systeme durch detaillierte Proxy-Cache-Anpassungen. Durch die Verfeinerung der Cache-Hierarchie, die Verwaltung der Frische-Einstellungen und die Optimierung der Header-Verarbeitung sorgten sie für eine nahtlose Inhaltsbereitstellung. Echtzeit X-Proxy-Cache Mithilfe von Metriken konnten IT-Teams die Cache-Einstellungen effektiv anpassen, was zu schnelleren Reaktionszeiten, einer geringeren Belastung der Ursprungsserver und einer besseren Verfügbarkeit für Unternehmensabläufe führte.