NGINX Config Rewind: Serverion laat de verloren kunst van proxycache-tuning herleven
Wilt u snellere websites en lagere serverbelastingen? NGINX proxycaching is dé oplossing. Door veelgevraagde content op te slaan, versnelt het de levering en vermindert het de belasting van uw oorspronkelijke servers. Serverion deelt praktische tips om uw cache-instellingen te optimaliseren voor betere prestaties en betrouwbaarheid.
Belangrijkste punten:
- Serveer verouderde content: Gebruik gecachte reacties tijdens serveruitval met
proxy_cache_gebruik_verouderd. - Achtergrondupdates: Ververs cache-items zonder dat gebruikers worden gestoord bij het gebruik
proxy_cache_achtergrond_update. - Voorkom overbelasting: Vermijd het overbelasten van uw oorspronkelijke server met
proxy_cache_lock.
Voorbeeldopstelling:
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 updaten; proxy_cache_background_update aan; proxy_cache_lock aan; Deze instellingen zorgen voor snelle reacties, efficiënt resourcegebruik en betrouwbare contentlevering. Of u nu een kleine VPS of een server met veel verkeer, kunnen deze technieken u helpen het maximale uit NGINX-proxycaching te halen.
NGINX: Contentcaching met reverse proxy (supersnel …

Basisprincipes van NGINX-proxycaching
De cache-tuningtechnieken van Serverion zijn gebaseerd op de kernprincipes van NGINX-proxycaching, waarbij kopieën van de oorspronkelijke content worden opgeslagen en geserveerd. Het systeem bestaat uit drie hoofdcomponenten: het cachepad, een gedeelde geheugenzone en een cachemanager die verlopen of minst recent gebruikte (LRU) bestanden verwijdert wanneer de cache zijn limiet bereikt.
NGINX Proxy Cache-bewerking
Wanneer NGINX een verzoek verwerkt, controleert het eerst de gedeelde geheugenzone om te zien of de gevraagde inhoud al in de cache staat. Deze in-memory lookup maakt het mogelijk om snel cache-hits of -missers te bepalen. Ter referentie: een sleutelzone van 1 MB kan ongeveer 8000 cachesleutels opslaan[1].
Dit is hoe het cacheproces werkt:
- NGINX hasht de aanvraag om een unieke cachesleutel te creëren.
- Er wordt in de gedeelde geheugenzone naar die sleutel gezocht.
- Als de sleutel wordt gevonden (cache hit), wordt de inhoud rechtstreeks vanuit de cache aangeboden.
- Als de sleutel niet wordt gevonden (cache miss), wordt de inhoud opgehaald van de oorspronkelijke server en in de cache opgeslagen voor toekomstig gebruik.
Serverion optimaliseert de prestaties door efficiënte sleutelopzoekingen te garanderen en de cacheopslag te organiseren met behulp van directoryhiërarchieën.
Kerncache-elementen
| Richtlijn | Doel | Invloed |
|---|---|---|
proxy_cache_pad | Geeft de cacheopslaglocatie op | Bepaalt waar en hoe inhoud in de cache wordt opgeslagen |
proxy_cache | Activeert caching voor specifieke verzoeken | Maakt caching binnen een locatieblok mogelijk |
sleutels_zone | Wijst gedeeld geheugen toe voor cachesleutels | Maakt snelle opzoekingen in het geheugen mogelijk |
inactief | Definieert hoe lang ongebruikte items in de cache blijven | Beheert de versheid van de cache en de timing van verwijdering |
Om de prestaties te maximaliseren, gebruikt u een tweelaags niveaus hiërarchie om vertragingen in het bestandssysteem te voorkomen. Stel daarnaast gebruik_temp_pad=uit om gecachte bestanden rechtstreeks naar hun uiteindelijke locatie te schrijven, waardoor de I/O-overhead wordt verminderd.
NGINX respecteert cache-instructies van de oorspronkelijke server. Het slaat alleen reacties op die een verloopt koptekst met een toekomstige datum of een Cache-Control koptekst met een max-leeftijd waarde groter dan nul.
U kunt deze principes nu toepassen in uw NGINX-proxycache-instellingen.
[1] NGINX-documentatie: Een sleutelzone van 1 MB slaat gegevens op voor ongeveer 8.000 sleutels.
NGINX Proxy Cache-installatiehandleiding
Leer stap voor stap hoe u NGINX-proxycaching configureert en optimaliseert.
Cacheparameterinstellingen
De basis van de NGINX-proxycache-instelling is de proxy_cache_pad richtlijn. Hier is een voorbeeldconfiguratie:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mijn_cache:10m max_size=10g inactief=60m use_temp_path=uit; Deze configuratie creëert een directorystructuur met twee niveaus en wijst 10 MB toe aan de sleutels_zone (voldoende voor ongeveer 80.000 sleutels), stelt een maximale cachegrootte in van 10 GB en definieert een inactieve time-out van 60 minuten.
Voor betere controle kunt u ook deze optionele richtlijnen opnemen:
| Richtlijn | Doel |
|---|---|
proxy_cache_gebruik_verouderd | Serveert verouderde inhoud als de oorspronkelijke servers niet beschikbaar zijn |
proxy_cache_hervalideren | Gebruikt voorwaardelijke GET-verzoeken om te controleren of de inhoud nog geldig is |
proxy_cache_achtergrond_update | Vernieuwt verouderde inhoud op de achtergrond |
proxy_cache_lock | Voorkomt dat meerdere verzoeken de oorspronkelijke server overbelasten |
Nadat u deze parameters hebt gedefinieerd, wijst u geheugen en schijfruimte toe op basis van het verwachte verkeer.
Beheer van cachegrootte
Om uw cache effectief te dimensioneren, moet u rekening houden met zowel geheugen- als schijfgebruik. Zo werkt het:
- Geheugenzone-grootte Geheugen toewijzen voor de
sleutels_zoneom aan uw cachebehoeften te voldoen:keys_zone=enterprise_cache:100m; # Ondersteunt ongeveer 800.000 cachesleutels - Toewijzing van schijfruimte Pas de
proxy_cache_padom de maximale schijfruimte te specificeren:proxy_cache_path /var/cache/nginx niveaus=1:2 sleutels_zone=enterprise_cache:100m max_grootte=10g inactief=24u gebruik_temp_pad=uit;
Zodra deze parameters zijn ingesteld, bent u klaar om uw cache te initialiseren en in te schakelen.
Cache-initialisatie
Nadat u uw parameters en afmetingen nauwkeurig hebt ingesteld, volgt u deze stappen om caching te activeren:
- Gebruik de
proxy_cache_padrichtlijn uit het bovenstaande voorbeeld en voeg toeproxy_cache mijn_cacheaan uw configuratie. - Schakel caching in binnen de relevante
serverofplaatsblok:proxy_cache mijn_cache; - U kunt eventueel een van de eerder genoemde fine-tuningrichtlijnen opnemen om de prestaties te verbeteren.
- Controleer de cachestatus door een aangepaste header toe te voegen:
add_header X-Cache-Status $upstream_cache_status;
Opmerking: Volgens de NGINX-documentatie is een 1 MB
sleutels_zonekan ongeveer 8.000 sleutels opslaan.
Met deze instelling weet u zeker dat uw cache het verkeer efficiënt kan verwerken en toch flexibel genoeg is om aanpassingen te kunnen doen.
sbb-itb-59e1987
Enterprise NGINX Cachebeheer
Zodra het cachepad en de parameters zijn ingesteld, is het tijd om uw configuratie te schalen om verkeer op ondernemingsniveau effectief te verwerken.
Optimalisatie van cache-hitpercentage
Om de cache-efficiëntie te verbeteren, kunt u functies zoals voorwaardelijke verzoeken en achtergrondupdates inschakelen:
proxy_cache_revalidate aan; proxy_cache_background_update aan; proxy_cache_use_stale wordt bijgewerkt; Voorkom dat uw oorspronkelijke server overbelast raakt door de volgende instellingen te configureren:
proxy_cache_lock aan; proxy_cache_lock_timeout 5s; proxy_cache_min_uses 2; Voor omgevingen met veel verkeer kunt u de cachebelasting verdelen over meerdere opslagapparaten om de prestaties te verbeteren:
split_clients "${aanvraag_uri}" $disk { 20% "/data/cache1"; 20% "/data/cache2"; 20% "/data/cache3"; 20% "/data/cache4"; * "/data/cache5"; } Zodra uw cache is geoptimaliseerd voor prestaties, kunt u zich richten op het beveiligen ervan om gevoelige inhoud te kunnen verwerken.
Cachebeveiligingscontroles
Om gevoelige verzoeken te beschermen, kunt u de cache omzeilen en de cachesleutels naar behoefte aanpassen:
proxy_cache_bypass $http_pragma; proxy_cache_bypass $cookie_nocache; proxy_ignore_headers Cache-Control; Voor gepersonaliseerde inhoud of op cookies gebaseerde verzoeken kunt u de cachesleutel en de ondersteunde methoden aanpassen:
proxy_cache_key "$host$request_uri$cookie_gebruiker"; proxy_cache_methods GET HEAD POST; Nadat u uw cache hebt beveiligd, moet u de prestaties ervan voortdurend in de gaten houden.
Cacheprestatietracking
Controleer het cachegedrag met behulp van statusdefinities om uw configuratie nauwkeurig af te stemmen:
| Status | Definitie |
|---|---|
| UPDATEN | Verouderde content wordt weergegeven terwijl een update wordt uitgevoerd |
| GEREVALIDEERD | Gecachte inhoud is opnieuw gevalideerd met de oorspronkelijke server |
Analyseer de X-Cache-status Regelmatig statistieken bijhouden en richtlijnen aanpassen om deze af te stemmen op verkeerspatronen voor optimale resultaten.
ServerionNGINX-cacheconfiguratie van 's

Serverion past de NGINX-cache-instellingen aan op basis van de specifieke behoeften van elke workload. Door gebruik te maken van kernrichtlijnen optimaliseren ze cacheconfiguraties op verschillende manieren voor VPS en dedicated servers.
Cachepaden per werklast
VPS-werklasten
Voor VPS-configuraties biedt deze configuratie een balans tussen geheugenefficiëntie en snelle responstijden:
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=SERVERCACHE:10m max_size=10g inactive=60m use_temp_path=off; proxy_cache_key "$scheme$request_method$host$request_uri"; proxy_cache_valid 200 302 60m; proxy_cache_valid 404 1m; De sleutels_zone De grootte is zodanig ingesteld dat er ruimte is voor ongeveer 80.000 sleutels.
Dedicated Servers
Voor toepassingen met veel verkeer op speciale servers gebruikt Serverion een gedistribueerd cachesysteem over meerdere SSD's:
proxy_cache_pad /cache1 niveaus=1:2 sleutels_zone=cache1:10m; proxy_cache_pad /cache2 niveaus=1:2 sleutels_zone=cache2:10m; proxy_cache_pad /cache3 niveaus=1:2 sleutels_zone=cache3:10m; split_clients "${request_uri}" $cachezone { 33% "cache1"; 33% "cache2"; * "cache3"; } Met deze configuratie worden cache-schrijfbewerkingen gelijkmatig verdeeld over drie SSD's met behulp van de gesplitste_klanten richtlijn.
Specifieke waarden voor deze configuraties zijn afkomstig uit de Cache Parameter Reference Table van Serverion.
Infrastructuurinstellingen
Om de prestaties verder te verbeteren, worden de NGINX-werkerinstellingen aangepast om cache-invoer en -uitvoer efficiënt te verwerken:
worker_processes auto; worker_connections 1024; worker_cpu_affinity 0-3; # werknemers uitlijnen met CPU-cores Deze aanpassingen zorgen ervoor dat gecachte antwoorden met maximale efficiëntie worden afgeleverd.
Samenvatting: NGINX Cache Tuning Resultaten
Serverion heeft de prestaties en betrouwbaarheid in zijn hele hostingsystemen door middel van gedetailleerde proxycache-aanpassingen. Door de cachehiërarchie te verfijnen, de versheidsinstellingen te beheren en de headerverwerking te optimaliseren, behielden ze een naadloze contentlevering. Realtime X-Proxy-Cache Met behulp van metrics konden IT-teams cache-instellingen effectief aanpassen, wat leidde tot snellere responstijden, minder belasting van de oorspronkelijke servers en een betere beschikbaarheid voor bedrijfsactiviteiten.