NGINX Config Rewind: A Serverion újraéleszti a proxy gyorsítótár hangolásának elveszett művészetét
Gyorsabb weboldalakat és alacsonyabb szerverterhelést szeretne? Az NGINX proxy gyorsítótárazás a megoldás. A gyakran kért tartalom tárolásával felgyorsítja a kézbesítést és csökkenti a kiindulási szerverek terhelését. Serverion gyakorlati tippeket oszt meg a gyorsítótár beállításának optimalizálásához a jobb teljesítmény és megbízhatóság érdekében.
Legfontosabb elvitelek:
- Tálalja az elavult tartalmat: Gyorsítótárazott válaszok használata a szerver leállása alatt a következővel:
proxy_cache_use_stale. - Háttérfrissítések: A gyorsítótár bejegyzéseinek frissítése a felhasználók használatának megszakítása nélkül
proxy_cache_background_update. - Kerülje el a túlterhelést: Kerülje el, hogy túlterhelje az eredeti szervert
proxy_cache_lock.
Példa beállítás:
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 frissítés; proxy_cache_background_update bekapcsolva; proxy_cache_lock bekapcsolva; Ezek a beállítások gyors válaszokat, hatékony erőforrás-felhasználást és megbízható tartalomszolgáltatást biztosítanak. Akár fut a kis VPS vagy egy nagy forgalmú szerver, ezek a technikák segíthetnek abban, hogy a legtöbbet hozza ki az NGINX proxy gyorsítótárazásából.
NGINX: Tartalom gyorsítótárazás fordított proxyval (Szupergyors…

Az NGINX proxy gyorsítótárazási alapjai
A Serverion gyorsítótár-hangolási technikái az NGINX proxy-gyorsítótárazás alapelvein alapulnak, amely magában foglalja az eredeti tartalom másolatainak tárolását és kiszolgálását. A rendszer három fő összetevőt használ: a gyorsítótár elérési útját, egy megosztott memóriazónát és egy gyorsítótár-kezelőt, amely eltávolítja a lejárt vagy legkevésbé használt (LRU) fájlokat, amikor a gyorsítótár eléri a korlátot.
NGINX proxy gyorsítótár működése
Amikor az NGINX feldolgoz egy kérést, először ellenőrzi a megosztott memória zónáját, hogy megnézze, nincs-e már gyorsítótárban a kért tartalom. Ez a memórián belüli keresés lehetővé teszi a gyorsítótárban található találatok vagy kihagyások gyors meghatározását. Referenciaként egy 1 MB-os kulcszóna körülbelül 8000 gyorsítótárkulcsot tud tárolni[1].
Így működik a gyorsítótárazási folyamat:
- Az NGINX kivonatolja a kérést egy egyedi gyorsítótár-kulcs létrehozására.
- Ellenőrzi az adott kulcs megosztott memória zónáját.
- Ha a kulcs megtalálható (gyorsítótár találat), a tartalom közvetlenül a gyorsítótárból kerül kiszolgálásra.
- Ha a kulcs nem található (hiányzik a gyorsítótár), a tartalom lekérésre kerül az eredeti szerverről, és a gyorsítótárban tárolódik későbbi felhasználás céljából.
A Serverion optimalizálja a teljesítményt azáltal, hogy hatékony kulcskeresést és a gyorsítótár-tárolást címtárhierarchiák segítségével szervezi.
Alapvető gyorsítótár-elemek
| Irányelv | Célja | Hatás |
|---|---|---|
proxy_cache_path | Meghatározza a gyorsítótár tárolási helyét | Meghatározza, hogy a tartalom hol és hogyan kerüljön gyorsítótárba |
proxy_cache | Aktiválja a gyorsítótárazást bizonyos kérésekhez | Lehetővé teszi a gyorsítótárazást egy helyblokkon belül |
keys_zone | Megosztott memóriát foglal le a gyorsítótár kulcsai számára | Gyors keresést tesz lehetővé a memóriában |
inaktív | Meghatározza, hogy mennyi ideig maradjanak a nem használt elemek a gyorsítótárban | Szabályozza a gyorsítótár frissességét és a kilakoltatás időzítését |
A teljesítmény maximalizálása érdekében használjon kétszintűt szinteket hierarchia a fájlrendszer lelassulásának megelőzésére. Ezenkívül állítsa be use_temp_path=off a gyorsítótárazott fájlok közvetlenül a végső helyükre írhatók, csökkentve az I/O többletköltséget.
Az NGINX tiszteletben tartja az eredeti kiszolgáló gyorsítótár-direktíváit. Csak azokat a válaszokat tárolja, amelyek tartalmazzák a Lejár fejléc jövőbeli dátummal vagy a Cache-Control fejléc a max-életkor értéke nagyobb, mint nulla.
Most már alkalmazhatja ezeket az elveket az NGINX proxy-gyorsítótár beállításánál.
[1] NGINX dokumentáció: Egy 1 MB-os kulcszóna körülbelül 8000 kulcs adatait tárolja.
NGINX proxy gyorsítótár beállítási útmutatója
Ismerje meg lépésről lépésre, hogyan konfigurálhatja és optimalizálhatja az NGINX proxy gyorsítótárazását.
Gyorsítótár paraméter beállításai
Az NGINX proxy gyorsítótár beállításának alapja a proxy_cache_path irányelv. Íme egy példa konfiguráció:
proxy_cache_path /var/cache/nginx szintek=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; Ez a konfiguráció kétszintű könyvtárstruktúrát hoz létre, 10 MB-ot lefoglalva a keys_zone (körülbelül 80 000 kulcshoz elegendő), 10 GB-ra állítja be a maximális gyorsítótár méretét, és 60 perces inaktív időtúllépést határoz meg.
A jobb vezérlés érdekében ezeket az opcionális direktívákat is megadhatja:
| Irányelv | Célja |
|---|---|
proxy_cache_use_stale | Elavult tartalmat szolgál ki, ha a kiindulási szerverek nem érhetők el |
proxy_cache_revalidate | Feltételes GET kéréseket használ annak ellenőrzésére, hogy a tartalom még mindig érvényes-e |
proxy_cache_background_update | Frissíti az elavult tartalmat a háttérben |
proxy_cache_lock | Megakadályozza, hogy több kérés túlterhelje az eredeti kiszolgálót |
A paraméterek meghatározása után foglaljon le memóriát és lemezterületet a várható forgalom alapján.
Gyorsítótár méretének kezelése
A gyorsítótár hatékony méretezéséhez vegye figyelembe a memória- és a lemezhasználatot is. Íme, hogyan:
- Memóriazóna méretezése Memória lefoglalása a
keys_zonegyorsítótárazási igényeinek megfelelően:keys_zone=vállalati_gyorsítótár:100m; # Körülbelül 800 000 gyorsítótár-kulcsot támogat - Lemezterület kiosztása Állítsa be a
proxy_cache_patha maximális lemezterület megadásához:proxy_cache_path /var/cache/nginx level=1:2 keys_zone=enterprise_cache:100m max_size=10g inactive=24h use_temp_path=off;
Miután beállította ezeket a paramétereket, készen áll a gyorsítótár inicializálására és engedélyezésére.
Gyorsítótár inicializálása
A paraméterek és a méretezés finomhangolása után kövesse az alábbi lépéseket a gyorsítótár aktiválásához:
- Használja a
proxy_cache_pathdirektívát a fenti példából, és add hozzáproxy_cache my_cacheaz Ön konfigurációjához. - Gyorsítótárazás engedélyezése a releváns területen belül
szervervagyelhelyezkedéstömb:proxy_cache my_cache; - Opcionálisan tartalmazza a korábban említett finomhangolási irányelvek bármelyikét a teljesítmény növelése érdekében.
- Figyelje a gyorsítótár állapotát egyéni fejléc hozzáadásával:
add_header X-Cache-Status $upstream_cache_status;
Jegyzet: Az NGINX dokumentációja szerint egy 1 MB
keys_zonekörülbelül 8000 kulcs tárolására alkalmas.
Ez a beállítás biztosítja, hogy a gyorsítótár készen áll a forgalom hatékony kezelésére, miközben megőrzi a rugalmasságot a beállításokhoz.
sbb-itb-59e1987
Vállalati NGINX gyorsítótár-kezelés
Miután beállította a gyorsítótár elérési útját és a paramétereket, ideje átméretezni a beállítást, hogy hatékonyan kezelje a vállalati szintű forgalmat.
Gyorsítótár találati arányának optimalizálása
A gyorsítótár hatékonyságának növelése érdekében engedélyezze az olyan funkciókat, mint a feltételes kérések és a háttérben történő frissítések:
proxy_cache_revalidate bekapcsolva; proxy_cache_background_update bekapcsolva; proxy_cache_use_stale frissítés; A következő beállítások konfigurálásával akadályozza meg a kiindulási szerver túlterhelését:
proxy_cache_lock be; proxy_cache_lock_timeout 5s; proxy_cache_min_uses 2; Nagy forgalmú környezetekben a teljesítmény növelése érdekében ossza el a gyorsítótár-terhelést több tárolóeszköz között:
split_clients "${request_uri}" $disk { 20% "/data/cache1"; 20% "/data/cache2"; 20% "/data/cache3"; 20% "/data/cache4"; * "/data/cache5"; } Miután a gyorsítótár teljesítményre optimalizált, összpontosítson arra, hogy biztosítsa az érzékeny tartalmak kezelését.
Gyorsítótár biztonsági vezérlői
Az érzékeny kérések védelme érdekében hagyja ki a gyorsítótárat, és szükség szerint szabja testre a gyorsítótár kulcsait:
proxy_cache_bypass $http_pragma; proxy_cache_bypass $cookie_nocache; proxy_ignore_headers Gyorsítótár-vezérlés; Személyre szabott tartalom vagy cookie-alapú kérések esetén állítsa be a gyorsítótár kulcsát és a támogatott módszereket:
proxy_cache_key "$host$request_uri$cookie_user"; proxy_cache_methods FEJBEJEGYZÉS LEKÉRÉSE; A gyorsítótár biztonságossá tétele után győződjön meg róla, hogy folyamatosan figyeli a teljesítményét.
Gyorsítótár teljesítményének követése
Kövesse nyomon a gyorsítótár viselkedését állapotdefiníciók segítségével a beállítás finomhangolásához:
| Állapot | Meghatározás |
|---|---|
| FRISSÍTÉS | Az elavult tartalom frissítése folyamatban van |
| ÚJRAÉRVÉNYEZVE | A gyorsítótárazott tartalom újraellenőrzése megtörtént az eredeti szerverrel |
Elemezze a X-Cache-Status rendszeresen méri a mérőszámokat, és állítsa be az irányelveket, hogy azok igazodjanak a forgalmi mintákhoz az optimális eredmények érdekében.
ServerionNGINX gyorsítótár konfigurációja

A Serverion testreszabja az NGINX gyorsítótár beállításait az egyes munkaterhelések egyedi igényei alapján. Az alapvető direktívák használatával eltérő módon optimalizálják a gyorsítótár-konfigurációkat a VPS-hez és dedikált szerverek.
Gyorsítótár-útvonalak munkaterhelés szerint
VPS munkaterhelések
VPS-beállítások esetén ez a konfiguráció egyensúlyt teremt a memória hatékonysága és a gyors válaszidő között:
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; } } (Megjegyzés: A kulcsszavak jelentése nélkül nehéz pontosabb fordítást adni.) A keys_zone mérete körülbelül 80 000 kulcs befogadására van beállítva.
Dedikált szerverek
A dedikált szervereken lévő nagy forgalmú alkalmazásokhoz a Serverion elosztott gyorsítótárazási rendszert használ több SSD-n:
proxy_cache_path /cache1 szintek=1:2 keys_zone=cache1:10m; proxy_cache_path /cache2 szintek=1:2 keys_zone=cache2:10m; proxy_cache_path /cache3 szintek=1:2 keys_zone=cache3:10m; split_clients "${request_uri}" $cachezone { 33% "cache1"; 33% "cache2"; * "cache3"; } Ez a beállítás egyenletesen osztja el a gyorsítótár írását három SSD-n a split_kliensek irányelv.
Ezen konfigurációk konkrét értékei a Serverion gyorsítótárparaméterek referenciatáblázatából származnak.
Infrastruktúra beállítások
A teljesítmény további növelése érdekében az NGINX dolgozói beállításait úgy állítják be, hogy hatékonyan kezeljék a gyorsítótár bemenetét és kimenetét:
worker_processes auto; worker_connections 1024; worker_cpu_affinity 0-3; # workerek igazítása CPU magokhoz Ezek a módosítások biztosítják, hogy a gyorsítótárazott válaszok a lehető legnagyobb hatékonysággal kerüljenek kézbesítésre.
Összegzés: Az NGINX gyorsítótár hangolási eredményei
A szerverezés javította a teljesítményt és a megbízhatóságot hosting rendszerek a proxy gyorsítótár részletes beállításával. A gyorsítótár-hierarchia finomításával, a frissességi beállítások kezelésével és a fejlécfeldolgozás optimalizálásával zökkenőmentes tartalomszolgáltatást tartottak fenn. Valós idejű X-Proxy-Cache A mérőszámok lehetővé tették az informatikai csapatok számára, hogy hatékonyan módosítsák a gyorsítótár beállításait, ami gyorsabb válaszidőt, kisebb terhelést eredményezett a kiindulási kiszolgálókon, és jobb elérhetőséget eredményezett a vállalati műveletek számára.
Kapcsolódó blogbejegyzések
- Az Nginx konfigurációk elsajátítása a webszerver optimális teljesítménye érdekében
- A legjobb 7 adatgyorsítótárazási technika mesterséges intelligencia terhelésekhez
- Hogyan javítja az adatgyorsítótárazás az AI-modell teljesítményét
- Az NGINX Config az alapokon túl: a Serverion áttekintése a Lua szkriptelési titkairól