NGINX Config Rewind: Serverion elvyttää välityspalvelimen välimuistin virityksen kadonneen taiteen
Haluatko nopeammat verkkosivustot ja pienemmät palvelinkuormitukset? NGINX-välityspalvelimen välimuisti on ratkaisusi. Tallentamalla usein pyydettyä sisältöä se nopeuttaa toimitusta ja vähentää lähtöpalvelintesi rasitusta. Serverion jakaa käytännön vinkkejä välimuistin asennuksen optimoimiseksi suorituskyvyn ja luotettavuuden parantamiseksi.
Tärkeimmät takeawayt:
- Tarjoile vanhentunutta sisältöä: Käytä välimuistissa olevia vastauksia palvelimen käyttökatkon aikana
proxy_cache_use_stale. - Taustapäivitykset: Päivitä välimuistin merkinnät häiritsemättä käyttäjiä
proxy_cache_background_update. - Estä ylikuormitukset: Vältä ylikuormittamasta alkuperäpalvelinta
proxy_cache_lock.
Esimerkki asennuksesta:
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 päivittyy; proxy_cache_background_update päällä; proxy_cache_lock päällä; Nämä asetukset varmistavat nopeat vastaukset, tehokkaan resurssien käytön ja luotettavan sisällön toimituksen. Juoksetko a pieni VPS tai suuren liikenteen palvelin, nämä tekniikat voivat auttaa sinua saamaan kaiken irti NGINX-välityspalvelimen välimuistista.
NGINX: Sisällön välimuisti käänteisellä välityspalvelimella (erittäin nopea…

NGINX-välityspalvelimen välimuistin perusteet
Serverionin välimuistin viritystekniikat perustuvat NGINX-välityspalvelimen välimuistin ydinperiaatteisiin, jotka sisältävät alkuperäisen sisällön kopioiden tallentamisen ja tarjoamisen. Järjestelmä käyttää kolmea pääkomponenttia: välimuistipolkua, jaettua muistivyöhykettä ja välimuistin hallintaa, joka poistaa vanhentuneet tai vähiten käytetyt (LRU) tiedostot, kun välimuisti saavuttaa rajansa.
NGINX-välityspalvelimen välimuistin toiminta
Kun NGINX käsittelee pyynnön, se tarkistaa ensin jaetun muistialueensa nähdäkseen, onko pyydetty sisältö jo välimuistissa. Tämä muistissa oleva haku mahdollistaa välimuistin osumien tai poikkeamien nopean määrittämisen. Viitteenä 1 Mt:n avainalue voi tallentaa noin 8 000 välimuistiavainta[1].
Näin välimuistiprosessi toimii:
- NGINX tiivistää pyynnön luoda yksilöllinen välimuistiavain.
- Se tarkistaa kyseisen avaimen jaetun muistialueen.
- Jos avain löytyy (välimuistin osuma), sisältö toimitetaan suoraan välimuistista.
- Jos avainta ei löydy (välimuisti puuttuu), sisältö noudetaan alkuperäpalvelimelta ja tallennetaan välimuistiin tulevaa käyttöä varten.
Serverion optimoi suorituskyvyn varmistamalla tehokkaat avainhaut ja järjestämällä välimuistin hakemistohierarkioiden avulla.
Välimuistin ydinelementit
| Direktiivi | Tarkoitus | Vaikutus |
|---|---|---|
proxy_cache_path | Määrittää välimuistin tallennuspaikan | Määrittää, missä ja miten sisältö välimuistiin tallennetaan |
proxy_cache | Aktivoi välimuistin tiettyjä pyyntöjä varten | Mahdollistaa välimuistin tallennuksen sijaintilohkon sisällä |
keys_zone | Varaa jaetun muistin välimuistiavaimille | Mahdollistaa nopeat haut muistista |
ei-aktiivinen | Määrittää kuinka kauan käyttämättömät kohteet pysyvät välimuistissa | Ohjaa välimuistin tuoreutta ja häätöjen ajoitusta |
Maksimoi suorituskyky käyttämällä kaksitasoista tasot hierarkia estää tiedostojärjestelmän hidastumiset. Lisäksi aseta use_temp_path=off kirjoittaa välimuistissa olevia tiedostoja suoraan niiden lopulliseen sijaintiin, mikä vähentää I/O-ylimäärää.
NGINX kunnioittaa alkuperäisen palvelimen välimuistiohjeita. Se tallentaa vain vastaukset, jotka sisältävät an Vanhenee otsikko, jossa on tuleva päivämäärä tai a Välimuistin hallinta otsikko a max ikä arvo on suurempi kuin nolla.
Voit nyt soveltaa näitä periaatteita NGINX-välityspalvelimen välimuistin asetuksissa.
[1] NGINX-dokumentaatio: 1 Mt:n avainvyöhyke tallentaa tiedot noin 8 000 avaimesta.
NGINX-välityspalvelimen välimuistin asennusopas
Opi määrittämään ja optimoimaan NGINX-välityspalvelimen välimuistia vaihe vaiheelta.
Välimuistin parametrien asetukset
NGINX-välityspalvelimen välimuistin asennuksen perusta on proxy_cache_path direktiivi. Tässä esimerkki kokoonpanosta:
proxy_cache_path /var/cache/nginx tasot=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; Tämä kokoonpano luo kaksitasoisen hakemistorakenteen ja varaa 10 Mt keys_zone (riittää noin 80 000 näppäimelle), asettaa välimuistin enimmäiskoon 10 Gt ja määrittää 60 minuutin passiivisen aikakatkaisun.
Voit myös sisällyttää nämä valinnaiset ohjeet parantaaksesi hallintaa:
| Direktiivi | Tarkoitus |
|---|---|
proxy_cache_use_stale | Tarjoaa vanhentunutta sisältöä, jos alkuperäpalvelimet eivät ole käytettävissä |
proxy_cache_revalidate | Käyttää ehdollisia GET-pyyntöjä tarkistaakseen, onko sisältö edelleen voimassa |
proxy_cache_background_update | Päivittää vanhentuneen sisällön taustalla |
proxy_cache_lock | Estää useita pyyntöjä ylittämästä alkuperäpalvelinta |
Kun olet määrittänyt nämä parametrit, varaa muistia ja levytilaa odotetun liikenteen perusteella.
Välimuistin koon hallinta
Harkitse sekä muistin että levyn käyttöä välimuistin tehokkaan kokoamiseksi. Näin:
- Muistialueen mitoitus Varaa muistia
keys_zonevastaamaan välimuistitarpeitasi:keys_zone=yrityksen_välimuisti:100m; # tukee noin 800 000 välimuistiavainta - Levytilan varaus Säädä
proxy_cache_pathlevytilan enimmäismäärän määrittäminen:proxy_cache_path /var/cache/nginx level=1:2 keys_zone=enterprise_cache:100m max_size=10g inactive=24h use_temp_path=off;
Kun nämä parametrit on asetettu, olet valmis alustamaan ja ottamaan käyttöön välimuistin.
Välimuistin alustus
Parametrien ja koon hienosäädön jälkeen aktivoi välimuisti seuraavasti:
- Käytä
proxy_cache_pathohje yllä olevasta esimerkistä ja lisääproxy_cache my_cachekokoonpanoosi. - Ota välimuisti käyttöön asiaankuuluvan sisällä
palvelintaisijaintilohko:proxy_cache my_cache; - Voit halutessasi lisätä minkä tahansa aiemmin mainituista hienosäätöohjeista suorituskyvyn parantamiseksi.
- Valvo välimuistin tilaa lisäämällä mukautettu otsikko:
add_header X-Cache-Status $upstream_cache_status;
Huom: NGINX-dokumentaation mukaan 1 MB
keys_zonemahtuu noin 8 000 avainta.
Tämä asetus varmistaa, että välimuistisi on valmis käsittelemään liikennettä tehokkaasti säilyttäen samalla joustavuuden säätöjä varten.
sbb-itb-59e1987
Enterprise NGINX -välimuistin hallinta
Kun välimuistipolku ja parametrit on asetettu, on aika skaalata asetuksiasi käsittelemään yritystason liikennettä tehokkaasti.
Välimuistin osumaprosentin optimointi
Voit parantaa välimuistin tehokkuutta ottamalla käyttöön ominaisuuksia, kuten ehdollisia pyyntöjä ja taustapäivityksiä:
proxy_cache_revalidate käytössä; proxy_cache_background_update käytössä; proxy_cache_use_stale päivittyy; Estä alkuperäpalvelimen ylikuormittaminen määrittämällä nämä asetukset:
proxy_cache_lock päällä; proxy_cache_lock_timeout 5s; proxy_cache_min_uses 2; Vilkkaassa liikenteessä jakaa välimuistin kuormitus useille tallennuslaitteille suorituskyvyn parantamiseksi:
split_clients "${request_uri}" $disk { 20% "/data/cache1"; 20% "/data/cache2"; 20% "/data/cache3"; 20% "/data/cache4"; * "/data/cache5"; } Kun välimuistisi on optimoitu suorituskykyä varten, keskity varmistamaan, että se käsittelee arkaluontoista sisältöä.
Välimuistin suojausasetukset
Suojaa arkaluonteiset pyynnöt ohittamalla välimuisti ja mukauttamalla välimuistin avaimia tarpeen mukaan:
proxy_cache_bypass $http_pragma; proxy_cache_bypass $cookie_nocache; proxy_ignore_headers Välimuistin hallinta; Muokattua sisältöä tai evästepohjaisia pyyntöjä varten säädä välimuistiavainta ja tuettuja menetelmiä:
proxy_cache_key "$host$request_uri$cookie_user"; proxy_cache_methods NÄE PÄÄPOSTAUS; Varmista välimuistin suojauksen jälkeen, että seuraat jatkuvasti sen suorituskykyä.
Välimuistin suorituskyvyn seuranta
Tarkkaile välimuistin toimintaa tilamääritelmien avulla asetusten hienosäätämiseksi:
| Status | Määritelmä |
|---|---|
| PÄIVITYS | Vanhentunutta sisältöä tarjotaan päivityksen ollessa käynnissä |
| UUDELLEEN VAHVISTETTU | Välimuistissa oleva sisältö vahvistettiin uudelleen alkuperäisen palvelimen kanssa |
Analysoi X-Cache-Status mittareita säännöllisesti ja säädä käskyjä liikennemallien mukaisiksi parhaan tuloksen saavuttamiseksi.
Serverionn NGINX-välimuistin määritykset

Serverion mukauttaa NGINX-välimuistin asetuksia kunkin työkuorman erityistarpeiden mukaan. Ydinkäskyjä käyttämällä ne optimoivat välimuistin kokoonpanot eri tavalla VPS:lle ja omistettu palvelimet.
Välimuistipolut työkuorman mukaan
VPS-työkuormat
VPS-asetuksissa tämä kokoonpano löytää tasapainon muistin tehokkuuden ja nopeiden vasteaikojen välillä:
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; The keys_zone koko on asetettu mahtumaan noin 80 000 avainta.
Omistetut palvelimet
Dedikoitujen palvelimien suuren liikenteen sovelluksissa Serverion käyttää hajautettua välimuistijärjestelmää useille SSD-levyille:
proxy_cache_path /cache1 tasot=1:2 keys_zone=cache1:10m; proxy_cache_path /cache2 tasot=1:2 keys_zone=cache2:10m; proxy_cache_path /cache3 tasot=1:2 keys_zone=cache3:10m; split_clients "${request_uri}" $cachezone { 33% "välimuisti1"; 33% "välimuisti2"; * "välimuisti3"; } Tämä asennus jakaa välimuistin kirjoitukset tasaisesti kolmelle SSD-levylle käyttämällä split_clients direktiivi.
Näiden kokoonpanojen erityiset arvot on johdettu Serverionin välimuistin parametrien viitetaulukosta.
Infrastruktuuriasetukset
Suorituskyvyn parantamiseksi entisestään NGINX-työntekijöiden asetukset on säädetty käsittelemään välimuistin syöttöä ja tulostusta tehokkaasti:
worker_processes auto; worker_connections 1024; worker_cpu_affinity 0-3; # tasaa työprosessit suorittimen ytimien mukaan Nämä säädöt varmistavat, että välimuistissa olevat vastaukset toimitetaan mahdollisimman tehokkaasti.
Yhteenveto: NGINX-välimuistin virityksen tulokset
Serverion paransi suorituskykyä ja luotettavuutta isännöintijärjestelmät yksityiskohtaisten välityspalvelimen välimuistin säätöjen avulla. Tarkentamalla välimuistihierarkiaa, hallitsemalla tuoreusasetuksia ja optimoimalla otsikkokäsittelyä he ylläpisivät saumatonta sisällön toimitusta. Reaaliaikainen X-välityspalvelin-välimuisti Mittareiden ansiosta IT-tiimit pystyivät säätämään välimuistin asetuksia tehokkaasti, mikä nopeuttaa vasteaikoja, vähentää alkuperäisten palvelimien rasitusta ja parempaa käytettävyyttä yrityksen toiminnassa.