Predpomnilnik lignjev - 2. del

Squid ni samo storitev proxy in predpomnilnika, temveč lahko naredi veliko več: upravlja acl (sezname dostopa), filtrira vsebino, lahko celo filtrira ssl tudi v preglednem načinu (metoda proxy - brez potrebe po konfiguraciji v nastavitvah proxyja) od njihovih brskalnikov je kot človek na sredini, nihče ne ve, da je tam). Tako pogosto vidim, kako zapravljamo ves potencial te aplikacije, ker ne vemo, kako konfigurirati vsak njen del.

Zdaj je zanimivost, ki jo počne lignji, predpomnilnik (po mojem mnenju). Mi boste povedali, zakaj predpomnilnik? Razlog je preprost, glavna stvar je boljše upravljanje uporabe vaše hitrosti in pasovne širine. Dobro premislite, 1000 ljudi v vašem podjetju se vsakih 5 minut posvetuje, običajne strani, Google, Hotmail, Gmail itd., Tako da boste vedno znova prenašali slike, pasice, oglaševanje, html vsebino, vse to so statične stvari, ne Spreminjajo se tako pogosto, bolje je, da se shranijo v vašem lokalnem omrežju, vi pa dostavite kopijo, ki se vam zdi nedavna v konfiguracijah, ki ste jih upoštevali.

Kako to narediti? Preprosto z naslednjim stavkom:

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

Kot vedno rečem, ne verjemite vsemu, zato vas vabim k branju iz uradnega vira. Priporočam, da preberete priročnik tega stavka TUKAJ

Stavek osveži_vzorec Za dodajanje novih parametrov v predpomnilnik bo vedno naša oznaka.

Pomembno je, da morajo biti vaši seznami predpomnilnika zaporedni, saj ko se ujema s prvim, ki ustreza predmetu, ne bo nadaljeval z branjem drugih pravil.

Regularni izrazi razlikujejo med velikimi in malimi črkami, zato flv ni isto kot FLV, vendar se temu lahko izognete z uporabo možnosti -i . Potem bi izgledalo takole osveži_vzorec -i

'Min': je čas (minute), v katerem bo predmet veljal za "nedavnega ali svežega" in če nima izrecne oznake "potekel". Privzeto lignji priporočajo, da je 0, ker se nekatere dinamične aplikacije lahko obnašajo nenavadno, čisto bla bla bla, res bi morala biti ta vrednost številka, ki se vam zdi koristna in učinkovita za elemente, ki jih želite predpomniti, primer: jpg, 1440 minut (na dan) se mi zdi v redu, ni tako, če se slike objave na strani spremenijo vsakih 5 minut.

'Odstotek' To je odstotek starosti predmeta (od zadnje spremembe), ki se bo štel za "nedavno ali sveže". Naj razložim, morda s stalnim vnovičnim nalaganjem ali osveževanjem, da bi videl zadnje spremembe spletne strani, bi lahko lignji razmislili, če že imajo recimo 50% časa med minut y max, znova naložite ta predmet z interneta in vam dajte novo kopijo.

'Max' je meja nad ali enaka 'Min' kako dolgo se predmet šteje za »nedavnega ali svežega«, predpostavimo, da je uporabnik sliko neke strani pregledal le enkrat, da je predmet že dosegel svoj čas minut, vendar ne max, nato pa bo po ponovnem poizvedbi dostavljena kopija predpomnilnika.

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

Te možnosti so bile narejene večinoma za ignoriranje vnaprej vzpostavljenega vedenja v jezikih in protokolih, da bi zagotovili učinkovito uporabo predpomnilnika.

override-expire

Izvaja minimalni čas predmeta, tudi če je strežnik poslal krajši čas poteka (na primer stvari, kot sta glava ali nadzor predpomnilnika: max-age). Če to storimo, se bo pojavilo "opozorilo", ki govori o takšnih stvareh "KRŠI standard HTTP", vendar so to le opozorila, ki jih lahko prezremo. Če je čas, ki ga strežnik pošlje daljši, si lignji vzame čas (iztek) strežnika

override-lastmod

Ojača najkrajši čas predmeta, tudi če je bil pred kratkim spremenjen.

reload-into-ims

Kratka razlaga je, da preprečuje, da bodo lignji, ko pritisnemo gumb za osvežitev ali če ne zahtevamo predpomnilnika, dostavili predpomnilnik, če ni bil "spremenjen od" in / ali če na strani ni "glav".

ignore-reload

Prezri dejanje uporabnikov, da pritisnejo gumb za ponovno nalaganje ali osvežitev strani

ignore-no-store

Ne upoštevajte nobenega pravila v glavah, da se ne shrani v predpomnilnik, na primer videoposnetki

ignore-private

Ne upoštevajte nobenega pravila v glavah zasebne vsebine, ki se ne sme predpomniti, na primer: vsebina facebooka.

refresh-ims

Squid se obrne na strežnik, da preveri, ali je predmet najnovejši. Če je, bo dostavil predpomnilnik

store-stale

Lignji bodo shranili vse te odgovore, tudi če nimajo roka veljavnosti, je to zelo nepraktično, saj jih običajno ni mogoče ponovno uporabiti. Če se odločite, da jo omogočite, morate prijaviti max-stale = NN

max-stale=NN

Če ste omogočili zgoraj navedeno, morate navesti najdaljšo življenjsko dobo za ta odziv ali faktor. Squid ne dostavi predmetov tega sloga, vendar ga lahko potrdi z virom

Tu je tabela, kako deluje stanje svežega "SVEŽEGA" glede na vrednosti, o katerih smo razpravljali:

  • SVEŽE, če poteče> zdaj, sicer STALE
  • STALE, če je starost> največ
  • SVEŽE, če je faktor lm <odstotek, sicer STALE
  • SVEŽE, če starost <min drugače KRAJA

Tu je primer konfiguracije za določeno podjetje z veliko prostora na disku, dobro opremo in dobro pasovno širino

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

Zdaj predpomnilnik ni le na trdem disku, lahko tudi predpomnilnik ram pomnilnika, ta vrednost je za vsak postopek lignjev, zato jo morate upoštevati pri uporabi preusmerjevalnikov, kot so squidGuard

maximum_object_size_in_memory 1024 KB

Največja velikost predmeta v pomnilniku, ki ga bodo lignji shranili v RAM. Lahko tudi prijavite minimum.


memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF

Kot lahko vidite, je ena politika za zamenjavo predpomnilnika v pomnilniku RAM, druga pa na trdem disku. Obstajata 2 pravilnika GDSF in LFUDA. Prvi želi izboljšati odstotek zadetkov predpomnilnika, pri čemer ima na voljo veliko majhnih predmetov, drugi pa nasprotno, predmete hrani v predpomnilniku ne glede na njihovo velikost.

Vprašanje, za katerega si mislim, da me trenutno zastavljate, je, kakšno rabo uporabljam? No, če menite, da v vašem okolju naredijo veliko poizvedb in malo prenosov uporablja GDSF, če nasprotno opravijo veliko prenosov in malo poizvedb LFUDA. Če priporočam LFUDA, ko boste to storili, ne vem, predpomnilnik v 1TB diska je bolj učinkovit.

maximum_object_size 4 MB

Največja velikost predmeta, ki ga je treba shraniti

cache_dir aufs /media/proxy249/cache 100 16 256

Kje bo shranjen predpomnilnik, tukaj je pozornost pomembno, če uporabljate ufs, aufs ali diskd, vsi trije delujejo bolj ali manj enako, razlika je v tem, da aufs in diskd delujejo z ločenimi procesi za izvajanje I / O operacij na trdem disku in izogibajte se, da se med temi postopki lignji obesijo, poleg tega lahko na disku določite število niti, ki jih boste imeli za to nalogo. Aufs priporočam, če imate dobro ekipo.

Velikost 100 (megabajtov), ​​lahko postavite 100000, je skoraj 100 GB, odvisno od vaše razpoložljivosti. 16 je število map in 256 podmap. Lahko se igrate z obema vrednostma, odvisno od tega, kako hitri so vaši diski in koliko virov imate.


cache_swap_low 90
cache_swap_high 95

Te možnosti so vrednosti nadomestitve predmeta, to je najmanjša in največja vrednost kot vodni žig glede na lignje, kjer so te številke v odstotkih (%), v zelo majhnem predpomnilniku pa bi bilo 5%, kot je ta, recimo 300 predmetov na sekundo , vendar bi v zelo velikih predpomnilnikih govorili o tisočih MB

No, tam vas pustim, to za zdaj, komentirajte Upoštevajte tudi tiste, ki so mi povedali, da ne morejo predpomniti in filtrirati strani https (SSL) v squid 3.5 ali novejši različici, kmalu vam jih predstavim, spremljajte ta blog.


11 komentarja, pustite svojega

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   ing. Jose Albert je dejal

    Odlično dopolnilo prvemu delu!

    O lignji je veliko literature, vendar prehod na točko v najbolj praktičnih možnostih z njihovimi razlagami in možnimi scenariji resnične uporabe niso vedno na dosegu roke!

    Kot vedno se veselim tretjega dela!

    1.    brodydalle je dejal

      Hvala za vaš komentar. Pravilno je, jedrnato pojasnilo vseh ustreznih elementov in nastavitev najboljše prakse. Vendar sem vedno pozoren na vaše komentarje in lastne izkušnje.

  2.   artus je dejal

    Pozdravljeni, imam težave s posodobitvami sistema Windows in protivirusnimi programi. V svoji ustanovi imam približno 120 kosov. Bi mi lahko predstavili kako izboljšati to situacijo. Hvala za pomoč in čestitke za članek.

    1.    brodydalle je dejal

      Pozdravljeni, hvala za sodelovanje .. no, če vam lahko pomagam, vendar dobro razložite, v čem je težava, posodobitev ne morete prenesti? Ali ste proxy vnesli v internetne možnosti in enako v možnosti proxy v brskalniku? Ali ste preverili vrata? Ali želite te posodobitve shraniti v predpomnilnik?

      1.    artus je dejal

        Kar potrebujem, je, da vsakič, ko računalnik prenese posodobitev sistema Windows ali protivirusne programske opreme, ostane v predpomnilniku približno en mesec, na ta način bi rad prihranil pasovno širino, saj vsako jutro vsakič vsi računalniki začnejo prenašati iste posodobitve, vsaka pa se povezava nasiči.

        Hvala za vašo pomoč.

    2.    Mario je dejal

      Strežnik s Squid bo to storil, saj gre za preproste nešifrirane http prenose. Drugi rešitvi za predpomnilnik sta WSUS in Altiris, običajno v podjetjih.

      1.    artus je dejal

        Hvala Mario, imel bom v mislih.

    3.    brodydalle je dejal

      ok pripravljen, razumem, preveri to povezavo. http://wiki.squid-cache.org/SquidFaq/WindowsUpdate. Če želite antivirus shraniti v predpomnilnik, morate vedeti, od kod se nalagajo posodobitve in pod katero razširitvijo (primer .exe), ter ga predpomniti ...

  3.   artus je dejal

    Hvala za vašo pomoč.

  4.   Erick je dejal

    Dobro jutro prijatelji, bi me lahko podprli z mojim primerom. ker imam squid 2.7 .STABLE9 na debian 6 in imam vse konfigurirano in pri namestitvi v 10 pc okolju dobim normalno pošto, težava je v tem, ko ga namestim za 90 pc, traja le nekaj sekund in od tam vsi ostanejo brez interneta. Bi me lahko podprli?

  5.   JOSE RIVAS je dejal

    Odlična razlaga, osnovna, a zelo jasna in natančna. Osebno najboljša razlaga, ki sem jo lahko prebral.
    Imam vprašanje, ali je mogoče predpomniti aplikacije za Android, kot sta apk in xapk?
    In kakšen bi bil pravilen način konfiguriranja dinamičnega predpomnilnika ne glede na izvor datotek?
    Uporabljam pfSense 2.4.5.