Kalmari-välimuisti - osa 2

Squid ei ole vain välityspalvelin ja välimuistipalvelu, se voi tehdä paljon enemmän: hallita acl (pääsyluetteloita), suodattaa sisältöä, se voi jopa tehdä ssl-suodatuksen jopa läpinäkyvässä tilassa (välityspalvelimenetelmä - ilman tarvetta määrittää välityspalvelinasetuksissa) heidän selaimistaan, se on kuin ihminen keskellä, kukaan ei tiedä, että se on siellä). Joten näen yleisesti, kuinka tämän sovelluksen koko potentiaali hukkuu, koska en tiedä kuinka konfiguroida kutakin sen osaa.

Nyt mielenkiintoinen asia, jota kalmari tekee, on välimuisti (mielestäni). Kerro minulle miksi välimuisti? Syy on yksinkertainen, hallitse nopeuden käyttöä paremmin ja kaistanleveys on tärkeintä. Ajattele huolellisesti, 1000 ihmistä yrityksessäsi joka viides minuutti, yleiset sivut, Google, Hotmail, Gmail jne. ... jotta lataat kuvia, bannereita, mainoksia, html-sisältöä uudestaan ​​ja uudestaan, kaikki nämä ovat staattisia asioita, ei ne muuttuvat niin usein, parempi, että ne tallennetaan lähiverkkoon, ja toimitat kopion, jota pidät äskettäisenä harkitsemissasi kokoonpanoissa.

Kuinka tehdä? Yksinkertainen seuraavalla lauseella:

refresh_pattern [-i] regex min percent max [options]

Kuten aina sanon, älä usko kaikkeen, joten kutsun sinut lukemaan virallisesta lähteestä. Suosittelen, että luet tämän lauseen käyttöoppaan TÄSTÄ

Tuomita refresh_pattern Uusien parametrien lisääminen välimuistiin on aina tunnisteemme.

Tärkeää, välimuistiluetteloiden on oltava peräkkäisiä, koska kun se vastaa ensimmäistä objektia vastaavaa, se ei jatka muiden sääntöjen lukemista

Säännölliset lausekkeet ovat kirjainkokoisia, joten flv ei ole sama kuin FLV, mutta voit välttää tämän haluttaessa käyttämällä vaihtoehtoa -i . Sitten se näyttäisi tältä refresh_pattern -i

'Min': Se on aika (minuutit), jolloin kohdetta pidetään "äskettäisenä tai tuoreena" ja jos sillä ei ole nimenomaista merkintää "vanhentunut". Oletusarvoisesti kalmari suosittelee, että arvo on 0 syistä, joiden takia jotkut dynaamiset sovellukset voivat käyttäytyä oudosti, puhdas bla bla bla bla, oikeastaan ​​tämän arvon pitäisi olla luku, jota pidät hyödyllisenä ja tehokkaana välimuistissa oleville elementeille, Esimerkki: JPG, 1440 minuuttia (päivässä) tuntuu hyvältä minulle, ei ole kuin jos viestin kuvat muuttuvat 5 minuutin välein sivulla.

'Prosentti' Kohteen iän prosenttiosuus (viimeisestä muokkauksesta) katsotaan «uudeksi tai tuoreeksi». Sallikaa minun selittää, ehkä tekemällä jatkuvaa päivitystä tai päivitystä nähdäksesi viimeiset muutokset, jotka on tehty verkkosivulle, kalmari voisi harkita, onko sillä jo, esimerkiksi, 50% välillä minuuttia y max, lataa objekti uudelleen Internetistä ja anna sinulle uusi kopio.

'Max' on raja, joka on suurempi tai yhtä suuri kuin 'Min' kuinka kauan objektia pidetään "äskettäisenä tai tuoreena", oletetaan, että käyttäjä on tarkastellut jonkin sivun kuvaa vain kerran, objekti on jo saavuttanut aikansa minuuttia, mutta ei max, sitten kun se kysytään uudelleen, välimuistikopio toimitetaan.

Options:
override-expire
override-lastmod
reload-into-ims
ignore-reload
ignore-no-store
ignore-private
max-stale=NN
refresh-ims
store-stale

Nämä vaihtoehdot tehtiin enimmäkseen sivuuttamaan ennalta määritetyt käyttäytymiset kielillä ja protokollissa välimuistin tehokkaan käytön takaamiseksi.

override-expire

Se noudattaa objektin vähimmäisaikaa, vaikka palvelin lähettäisi lyhyemmän vanhentumisajan (esimerkiksi otsikko tai välimuistin hallinta: max-age). Jos teemme tämän, näkyviin tulee "varoitus", jossa sanotaan esimerkiksi "RIKKAA HTTP-standardia", mutta se on vain varoitus, jonka voimme jättää huomiotta. Jos palvelimen lähettämä aika on pidempi, kalmari vie palvelimen ajan (vanhenemisen)

override-lastmod

Vahvistaa kohteen vähimmäisaikaa, vaikka sitä muutettaisiin äskettäin.

reload-into-ims

Lyhyt selitys on, että se estää sitä, että kun painamme päivityspainiketta tai teemme välimuistipyynnön, kalmari toimittaa välimuistin, jos sitä ei ole "muokattu" ja / tai jos sivulla ei ole "otsikoita".

ignore-reload

Ohita käyttäjien toiminta painamalla uudelleen tai päivitä sivupainiketta

ignore-no-store

Ohita otsikoissa olevat säännöt, jotka eivät sisällä välimuistia, esimerkiksi videoita

ignore-private

Ohita yksityisen sisällön otsikoissa kaikki säännöt, joita ei pitäisi tallentaa välimuistiin, esimerkiksi: facebook-sisältö.

refresh-ims

Kalmari ottaa yhteyttä palvelimeen varmistaakseen, että objekti on uusin. Jos se on, se toimittaa välimuistin

store-stale

Kalmari tallentaa kaikki vastaukset, vaikka heillä ei olisikaan viimeistä käyttöpäivää, tämä on hyvin epäkäytännöllistä, koska niitä ei yleensä voida käyttää uudelleen. Jos päätät ottaa sen käyttöön, sinun on ilmoitettava max-stale = NN

max-stale=NN

Jos otit yllä mainitun käyttöön, sinun on ilmoitettava kyseisen vasteen tai tekijän enimmäiskäyttöikä. Squid ei toimita tämän tyylisiä objekteja, mutta voi vahvistaa sen lähteellä

Tässä on taulukko "TUORE" -tilan toiminnasta keskustelemiemme arvojen mukaisesti:

  • TUORE, jos vanhenee> nyt, muuten STALE
  • STALE, jos ikä> max
  • TUORE, jos lm-kerroin <prosenttia, muuten PYÖRÄ
  • TUORE, jos ikä <min muuten STALE

Tässä on esimerkki tietyn yrityksen kokoonpanosta, jossa on paljon levytilaa, hyvät laitteet ja hyvä kaistanleveys

refresh_pattern -i \.(3gp|7z|ace|asx|bin|deb|divx|dvr-ms|ram|rpm|exe|inc|cab|qt)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(rar|jar|gz|tgz|bz2|iso|m1v|m2(v|p)|mo(d|v)|arj|lha|lzh|zip|tar)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(jp(e?g|e|2)|gif|pn[pg]|bm?|tiff?|ico|swf|dat|ad|txt|dll)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(avi|ac4|mp(e?g|a|e|1|2|3|4)|mk(a|v)|ms(i|u|p)|og(x|v|a|g)|rm|r(a|p)m|snd|vob)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims

refresh_pattern -i \.(pp(t?x)|s|t)|pdf|rtf|wax|wm(a|v)|wmx|wpl|cb(r|z|t)|xl(s?x)|do(c?x)|flv|x-flv)$ 43200 99% 43200 ignore-no-store ignore-must-revalidate override-expire override-lastmod reload-into-ims
cache_mem 8092 MB

Välimuisti ei ole vain kiintolevyllä, vaan myös välimuistin välimuistista, tämä arvo on jokaiselle kalmari-prosessille, joten sinun on otettava se huomioon, kun käytät uudelleenohjaimia kuten kalmariVartija

maximum_object_size_in_memory 1024 KB

Kalmari tallentaa muistissa olevan objektin enimmäiskoon RAM-muistiin. Voit myös ilmoittaa vähimmäismäärän.


memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF

Kuten näette, yksi on käytäntö välimuistin vaihtamiseksi RAM-muistissa ja toinen kiintolevyllä. GDSF- ja LFUDA-käytäntöjä on 2. Ensimmäinen pyrkii parantamaan välimuistin osumien prosenttiosuutta, kun käsillä on monia pieniä esineitä, toinen pyrkii päinvastoin, se pitää objektit välimuistissa niiden koosta riippumatta.

Kysymys, jonka kuvittelen kysyvän minulta tällä hetkellä, on, mitä käyttöä käytän? No, jos ajattelet, että ympäristössäsi he tekevät paljon kyselyjä ja harvat lataukset käyttävät GDSF: ää, jos päinvastoin he tekevät paljon latauksia ja harvat LFUDA-kyselyt. Jos suosittelen LFUDAa, kun aiot tehdä, en tiedä, välimuisti 1 Tt levylle, se on tehokkaampaa.

maximum_object_size 4 MB

Suurin koko, jonka objekti voidaan joutua tallentamaan

cache_dir aufs /media/proxy249/cache 100 16 256

Mihin välimuisti tallennetaan, huomio tässä on tärkeää, jos käytät uf-, auf- tai diskd-tiedostoja, kaikki 3 toimivat suunnilleen samalla tavalla, ero on siinä, että aufs ja diskd toimivat erillisten prosessien kanssa I / O-toimintojen suorittamiseksi kiintolevyllä ja Vältä, että kalmari-prosessit jumittuvat näiden toimintojen aikana. Lisäksi diskd voit määrittää ketjujen määrän, joita sinulla on tähän tehtävään. Suosittelen aufsia, jos sinulla on hyvä tiimi.

Koko 100 (megatavua), voit laittaa 100000 on lähes 100 Gt riippuu saatavuudesta. 16 on kansioiden lukumäärä ja 256 alikansioiden määrä. Voit pelata molemmilla arvoilla riippuen siitä, kuinka nopeasti levyt ovat ja kuinka paljon resursseja sinulla on.


cache_swap_low 90
cache_swap_high 95

Nämä vaihtoehdot ovat objektien korvausarvoja, se on pienin ja suurin arvo vesileimana kalmarin mukaan, jossa nämä luvut ovat prosentteina (%), ja hyvin pienessä välimuistissa 5% tällä hetkellä olisi esimerkiksi 300 objektia sekunnissa , mutta erittäin suurissa välimuistissa puhumme tuhansista megatavuista

No, jätän sinut, tämä toistaiseksi, kommentti ja ota huomioon myös ne, jotka kertoivat minulle, että he eivät voineet tallentaa välimuistiin ja suodattaa https (SSL) -sivuja kalmari 3.5: ssä tai uudemmassa, tuon ne sinulle pian, pysy ajan tasalla tästä blogista.


11 kommenttia, jätä omasi

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   Jose Albert dijo

    Erinomainen täydennys ensimmäiseen osaan!

    Squidistä on paljon kirjallisuutta, mutta sen käytännön vaihtoehtojen selvittäminen niiden selityksillä ja mahdollisilla todellisilla käyttötilanteilla ei ole aina käsillä!

    Kuten aina, odotan innolla sen kolmatta osaa!

    1.    brodydalle dijo

      Kiitos kommentistasi. Se on oikea, tiivis selitys kaikista asiaankuuluvista osista ja parhaiden käytäntöjen määritys. Olen kuitenkin aina tarkkaavainen kommentteihisi ja omiin kokemuksiisi.

  2.   artus dijo

    Hei, minulla on ongelma Windows-päivityksissä ja virustentorjunnassa. Minulla on noin 120 kpl laitoksessani. Voisitteko antaa minulle käsityksen tilanteen parantamisesta. Kiitos avustasi ja onnittelut artikkelista.

    1.    brodydalle dijo

      Hei, kiitos osallistumisesta .. No, jos voin auttaa sinua, mutta selitä hyvin mikä ongelmasi on, et voi ladata päivityksiä? Lisäsitkö välityspalvelimen Internet-asetuksiin ja saman selaimesi välityspalveluvaihtoehtoihin? Tarkistitko portit vai haluatko tallentaa välimuistiin nämä päivitykset?

      1.    artus dijo

        Tarvitsen, että joka kerta, kun tietokone lataa Windows- tai virustentorjuntapäivityksen, se pysyy välimuistissa noin kuukauden ajan, joten haluaisin säästää kaistanleveyttä, koska joka aamu joka kerta kaikki tietokoneet alkavat ladata samat päivitykset jokainen ja yhteys kyllästyy.

        Kiitos avusta.

    2.    Mario dijo

      Squid-palvelin tekee, koska nämä ovat vain yksinkertaisia ​​http-latauksia. Muita ratkaisuja välimuistiin ovat WSUS ja Altiris, normaalit yrityksissä.

      1.    artus dijo

        Kiitos Mario, pidän sen mielessä.

    3.    brodydalle dijo

      ok valmis, ymmärrän, tarkista tämä linkki. http://wiki.squid-cache.org/SquidFaq/WindowsUpdate. Välimuistin estämiseksi sinun on tiedettävä, mistä päivitykset ladataan ja millä laajennuksella (esimerkki .exe) ja välimuisti se ...

  3.   artus dijo

    Kiitos avusta.

  4.   Erick dijo

    Hyvää huomenta ystävät, voisitteko tukea minua tapauksessani. Koska minulla on kalmari 2.7 .STABLE9 debian 6: lla, ja minulla on kaikki asetukset määritettyinä, ja kun asennan sen 10 pc -ympäristöön, saan normaalin postin, ongelma on, kun asennan sen 90 pc: lle, se kestää vain muutaman sekunnin ja sieltä kaikki ovat he jäävät ilman internetiä. Voisitko tukea minua?

  5.   JOSE RIVAS dijo

    Erinomainen selitys, perustiedot, mutta erittäin selkeä ja tarkka. Henkilökohtaisesti paras selitys, jonka olen voinut lukea.
    Minulla on kysymys, onko mahdollista tallentaa välimuistiin Android-sovelluksia, kuten apk ja xapk?
    Ja mikä olisi oikea tapa määrittää dynaaminen välimuisti tiedostojen alkuperästä riippumatta?
    Käytän pfSense 2.4.5.