Squid nije samo proxy i cache usluga, on može učiniti mnogo više: upravljati acl (pristupnim popisima), filtrirati sadržaj, može čak i ssl filtrirati čak i u transparentnom načinu (proxy metoda - bez potrebe za konfiguracijom u postavkama proxyja) iz njihovih preglednika, to je poput čovjeka u sredini, nitko ne zna da je tamo). Stoga često vidim kako se puni potencijal ove aplikacije troši ne znajući kako konfigurirati svaki njezin dio.
Sad je zanimljiva stvar koju lignje rade predmemorija (po mom mišljenju). Reći ćete mi, zašto predmemorija? Razlog je jednostavan, glavno je bolje upravljati upotrebom svoje brzine i propusnosti. Dobro razmislite, 1000 ljudi u vašoj tvrtki savjetuje se svakih 5 minuta, uobičajene stranice, Google, Hotmail, Gmail itd., Tako da ćete uvijek iznova preuzimati slike, natpise, oglašavanje, html sadržaj, sve su to statične stvari, ne Mijenjaju se tako često, bolje je da se pohrane na vašoj lokalnoj mreži i dostave kopiju koju smatrate nedavnom u konfiguracijama koje ste uzeli u obzir.
Kako to učiniti? Jednostavno sa sljedećom rečenicom:
refresh_pattern [-i] regex min percent max [options]
Kao što uvijek kažem, ne vjerujte u sve, zato vas pozivam da pročitate iz službenog izvora. Preporučujem vam da pročitate priručnik ove rečenice OVDJE
Rečenica osvježi_uzorak Naša će oznaka uvijek biti dodavanje novih parametara u predmemoriju.
Važno je da vaši popisi predmemorije moraju biti sekvencijalni, jer jednom kada se podudaraju s prvim koji odgovara objektu, neće nastaviti čitati vaša druga pravila
Regularni izrazi razlikuju velika i mala slova, stoga flv nije isto što i FLV, ali to možete izbjeći ako želite upotrebom opcije -i . Tada bi to izgledalo ovako osvježiti_ obrazac -i
'Min': To je vrijeme (minute) u kojem će se objekt smatrati "nedavnim ili svježim" i ako nema izričitu oznaku "istekao". Prema zadanim postavkama lignja preporučuje da bude 0, iz razloga što se neke dinamičke aplikacije mogu ponašati neobično, čisto bla bla bla, stvarno ova vrijednost bi trebala biti broj koji smatrate korisnim i učinkovitim za elemente koje želite predmemorirati, primjer: jpg, 1440 minuta (dnevno) čini mi se u redu, nije kao da se slike posta mijenjaju svakih 5 minuta na stranici.
'Postotak' To je postotak starosti predmeta (od posljednje izmjene) koji će se smatrati «nedavnim ili svježim». Dopustite mi da objasnim, možda vršeći konstantno ponovno učitavanje ili osvježavanje kako bi vidjeli posljednje izmjene na web stranici, lignje bi mogle razmotriti je li već imalo, recimo, 50% vremena završenog između minuta y max, ponovo preuzmite taj objekt s interneta i dajte vam novu kopiju.
'Max' je granica iznad ili jednaka 'Min' koliko dugo se objekt smatra «nedavnim ili svježim», pretpostavimo da je sliku neke stranice korisnik pregledao samo jednom, da je taj objekt već dosegao svoje vrijeme minuta, ali ne i max, a nakon ponovnog upita isporučit će se kopija predmemorije.
Options:
override-expire
override-lastmod
reload-into-ims
ignore-reload
ignore-no-store
ignore-private
max-stale=NN
refresh-ims
store-stale
Ove su opcije napravljene uglavnom da bi se zanemarilo unaprijed uspostavljeno ponašanje u jezicima i protokolima, kako bi se zajamčila učinkovita upotreba predmemorije.
override-expire
Provodi minimalno vrijeme objekta, čak i ako je poslužitelj poslao kraće vrijeme isteka (primjerice stvari poput zaglavlja ili Cache-Control: max-age). Ako to učinimo, pojavit će se "upozorenje" s ovakvim stvarima "KRŠI HTTP standard", ali to su samo upozorenja koja možemo zanemariti. Ako je vrijeme koje poslužitelj šalje duže, lignjama će trebati vrijeme (istek) poslužitelja
override-lastmod
Pojačava minimalno vrijeme stavke, čak i ako je ta stavka nedavno izmijenjena.
reload-into-ims
Kratko objašnjenje je da sprječava da kad pritisnemo gumb za osvježavanje ili podnesemo zahtjev bez predmemorije, lignje će dostaviti predmemoriju ako nije "promijenjeno od" i / ili ako na stranici nema "zaglavlja".
ignore-reload
Zanemarite radnju korisnika da pritisnu gumb za ponovno učitavanje ili osvježavanje stranice
ignore-no-store
Zanemarite bilo koje pravilo u zaglavljima da se ne sprema u predmemoriju, na primjer videozapisi
ignore-private
Zanemarite bilo koje pravilo u zaglavljima privatnog sadržaja koje se ne smije predmemorirati, primjer: sadržaj na facebooku.
refresh-ims
Squid kontaktira poslužitelj kako bi jamčio je li objekt najnoviji. Ako je tada, isporučit će predmemoriju
store-stale
Lignje će spremiti sve te odgovore, čak i ako nemaju datum isteka, ovo je vrlo nepraktično jer se obično ne mogu ponovno upotrijebiti. Ako ga odlučite omogućiti, morate proglasiti max-stale = NN
max-stale=NN
Ako ste omogućili gore navedeno, morate navesti maksimalni životni vijek za taj odgovor ili faktor. Lignja ne isporučuje predmete ovog stila, ali ih može potvrditi s izvorom
Evo tablice kako stanje "FRESH" funkcionira u skladu s vrijednostima o kojima smo razgovarali:
- SVJEŽE ako isteknu> sada, u protivnom STALE
- PRODATI ako je dob> maks
- SVJEŽE ako je lm-faktor <posto, u suprotnom STALE
- SVJEŽE ako je dob <min drugo UKRATI
Evo primjera konfiguracije za određenu tvrtku s puno prostora na disku, dobrom opremom i dobrom propusnošću
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
Sada se predmemorija nalazi ne samo na tvrdom disku, već možemo i predmemorirati RAM memoriju, ta vrijednost vrijedi za svaki postupak lignje, pa je morate uzeti u obzir kada koristite preusmjerivače poput squidGuard
maximum_object_size_in_memory 1024 KB
Maksimalna veličina predmeta u memoriji koju će lignje pohraniti u RAM. Također možete proglasiti minimum.
memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF
Kao što vidite, jedno je pravilo za zamjenu predmemorije u RAM memoriji, a drugo na tvrdom disku. Postoje 2 politike GDSF i LFUDA. Prvi želi poboljšati postotak pogodaka predmemorije, imajući pri ruci mnogo malih predmeta, drugi traži suprotno, zadržava predmete u predmemoriji bez obzira na njihovu veličinu.
Pitanje za koje pretpostavljam da mi ga trenutno postavljate je, koju korist koristim? Pa, ako smatrate da u vašem okruženju rade mnogo upita, a malo preuzimanja koristi GDSF ako, naprotiv, izvrše mnogo preuzimanja i malo LFUDA upita. Ako preporučim LFUDA-u kada ćete, ne znam, predmemorirati na 1TB diska, to je učinkovitije.
maximum_object_size 4 MB
Maksimalna veličina koju objekt mora imati za pohranu
cache_dir aufs /media/proxy249/cache 100 16 256
Gdje će se pohraniti predmemorija, ovdje je pažnja važna ako koristite ufs, aufs ili diskd, sve tri rade više-manje isto, razlika je u tome što aufs i diskd rade s odvojenim procesima radi I / O operacija na tvrdom disku i izbjegavajte da liganski procesi vise tijekom ovih operacija, osim toga na disku možete odrediti broj niti koje ćete imati za ovaj zadatak. Ako imate dobar tim, preporučujem aufs.
Veličina 100 (megabajta), možete staviti 100000 je gotovo 100 GB, ovisno o vašoj dostupnosti 16 je broj mapa, a 256 podmapa. Možete se igrati s obje vrijednosti, ovisi o brzini diskova i o količini resursa.
cache_swap_low 90
cache_swap_high 95
Te su opcije vrijednosti zamjene objekta, to je minimalna i maksimalna vrijednost kao vodeni žig prema lignjama, gdje su ti brojevi u postocima (%), a u vrlo maloj predmemoriji 5% poput ovog trenutno bi bilo recimo 300 objekata u sekundi , ali u vrlo velikim predmemorijama govorili bismo o tisućama MB
Pa, tu vas ostavljam, ovo za sada, komentirajte a uzeti u obzir i one koji su mi rekli da ne mogu predmemorirati i filtrirati https stranice (SSL) u squidu 3.5 ili novijoj, donijet ću vam ih uskoro, pratite ovaj blog.
Izvrsna nadopuna prvom dijelu!
O njemu postoji puno literature o lignjama, ali prijelaz na stvar u najpraktičnijim opcijama s njihovim pojašnjenjima i mogućim scenarijima stvarne upotrebe nisu uvijek pri ruci!
Kao i uvijek, radujem se trećem dijelu!
Hvala na komentaru. Točno je, sažeto objašnjenje svih relevantnih elemenata i postavljanje najbolje prakse. Međutim, uvijek sam pažljiv na vaše komentare i vlastita iskustva.
Pozdrav, imam problem s ažuriranjima sustava Windows i antivirusom. Imam otprilike 120 kom u svojoj ustanovi. Možete li mi dati ideju kako poboljšati ovu situaciju. Hvala na pomoći i čestitke na članku.
Pozdrav, hvala na sudjelovanju .. dobro, ako vam mogu pomoći, ali dobro objasnite u čemu je vaš problem, ne možete preuzeti ažuriranja? Jeste li stavili proxy u Internet opcije, a isti u proxy opcije svog preglednika? Jeste li provjerili priključke? Ili želite predmemorirati ova ažuriranja?
Ono što trebam je da svaki put kada računalo preuzme Windows ili antivirusno ažuriranje, ono ostaje u predmemoriji oko mjesec dana, na taj način bih želio uštedjeti propusnost, jer svako jutro svaki put sva računala počnu preuzimati iste nadogradnje, a svaka se veza zasiti.
Hvala na pomoći.
Poslužitelj sa Squidom radi jer su to jednostavna nešifrirana http preuzimanja. Ostala rješenja za predmemoriju su WSUS i Altiris, uobičajena u tvrtkama.
Hvala Mario, imat ću to na umu.
ok spreman, razumijem, provjeri ovaj link. http://wiki.squid-cache.org/SquidFaq/WindowsUpdate. Da biste antivirus predmemorirali, morate znati odakle se preuzimaju ažuriranja i pod kojim proširenjem (primjer .exe) te ga predmemorirati ...
Hvala na pomoći.
Dobro jutro prijatelji, možete li me podržati u mom slučaju. Budući da imam lignju 2.7 .STABLE9 na debianu 6 i sve sam konfigurirao i kad ga montiram u okruženje od 10 kom, dobivam normalnu poštu, problem leži kad ga montiram za 90 kom, traje samo nekoliko sekundi i odatle svi mogu ostaju bez interneta. Možete li me podržati?
Izvrsno objašnjenje, osnovno, ali vrlo jasno i precizno. Osobno najbolje objašnjenje koje sam uspio pročitati.
Imam pitanje, je li moguće predmemorirati Android aplikacije kao što su apk i xapk?
A koji bi bio ispravan način konfiguriranja dinamičke predmemorije bez obzira na podrijetlo datoteka?
Koristim pfSense 2.4.5.