Ota meihin yhteyttä

info@serverion.com

Soita meille

+1 (302) 380 3902

NGINX Config Rewind: Serverion elvyttää välityspalvelimen välimuistin virityksen kadonneen taiteen

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

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_zone vastaamaan välimuistitarpeitasi:
    keys_zone=yrityksen_välimuisti:100m; # tukee noin 800 000 välimuistiavainta 
  • Levytilan varaus Säädä proxy_cache_path levytilan 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:

  1. Käytä proxy_cache_path ohje yllä olevasta esimerkistä ja lisää proxy_cache my_cache kokoonpanoosi.
  2. Ota välimuisti käyttöön asiaankuuluvan sisällä palvelin tai sijainti lohko:
    proxy_cache my_cache; 
  3. Voit halutessasi lisätä minkä tahansa aiemmin mainituista hienosäätöohjeista suorituskyvyn parantamiseksi.
  4. Valvo välimuistin tilaa lisäämällä mukautettu otsikko:
    add_header X-Cache-Status $upstream_cache_status; 

Huom: NGINX-dokumentaation mukaan 1 MB keys_zone mahtuu 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.

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

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.

Aiheeseen liittyvät blogikirjoitukset

fi