âSquidâ yra ne tik tarpinio serverio ir talpyklos paslauga, ji gali padaryti daug daugiau: valdyti acl (prieigos sÄ raÅ¡us), filtruoti turinį, jis netgi gali atlikti ssl filtravimÄ net skaidriu reÅŸimu (tarpinio serverio metodas - nereikia konfigÅ«ruoti pagalbinio serverio nustatymuose iÅ¡ jų narÅ¡yklių tai tarsi ÅŸmogus per vidurį, niekas neÅŸino, kad ten yra). Taigi daÅŸnai matau, kaip iÅ¡eikvojamas visas Å¡ios programos potencialas, neÅŸinant, kaip sukonfigÅ«ruoti kiekvienÄ jos dalį.
Dabar įdomus dalykas, kurį daro kalmarai, yra talpykla (mano nuomone). JÅ«s man pasakysite, kodÄl talpykla? PrieÅŸastis yra paprasta, geriau valdykite savo greiÄio ir pralaidumo naudojimÄ , tai yra pagrindinis dalykas. Gerai pagalvokite, 1000 ÅŸmonių jÅ«sų įmonÄje kas 5 minutes konsultuojasi, įprastus puslapius, âGoogleâ, âHotmailâ, âGmailâ ir kt., Kad vÄl ir vÄl atsisiųstumÄte vaizdus, ââreklamjuostes, reklamÄ , HTML turinį, visa tai yra statiÅ¡ka dalykai, ne. Jie keiÄiasi taip daÅŸnai, geriau juos laikyti savo vietiniame tinkle ir jÅ«s pristatysite kopijÄ , kuriÄ laikote naujausia pagal jÅ«sų svarstytas konfigÅ«racijas.
Kaip tai padaryti? Paprasta su šiuo sakiniu:
refresh_pattern [-i] regex min percent max [options]
Kaip visada sakau, netikÄkite viskuo, todÄl raginu skaityti oficialius Å¡altinius. Rekomenduoju perskaityti Å¡io nutarimo vadovÄ ÄIA.
ârefresh_patternâ teiginys visada bus mÅ«sų ÅŸymÄ, skirta naujiems parametrams į talpyklÄ pridÄti.
Svarbu, kad jÅ«sų talpyklos sÄ raÅ¡ai turi bÅ«ti nuoseklÅ«s, nes kai jis atitiks pirmÄ jį objektÄ atitinkantį sÄ raÅ¡Ä , jis nebeskaitys kitų jÅ«sų taisyklių.
ReguliarÅ«s reiÅ¡kiniai yra didÅŸiųjų ir maşųjų raidÅŸių jautrios, todÄl flv nÄra tas pats, kas FLV, bet galite to iÅ¡vengti, jei norite, naudodami parametrÄ -i . Tada jis atrodytų taip: refresh_pattern -i
âMinâ: tai laikas (minutÄmis), kai objektas bus laikomas ânaujuâ, jei jis neturi aiÅ¡kios ÅŸymÄs âpasibaigÄsâ. Pagal numatytuosius nustatymus âSquidâ rekomenduoja 0, nes kai kurios dinaminÄs programos gali elgtis keistai. Å i reikÅ¡mÄ turÄtų bÅ«ti skaiÄius, kurį laikote naudingu ir efektyviu elementams, kuriuos norite kaupti talpykloje. PavyzdÅŸiui, 1440 minuÄių (viena diena) man atrodo tinkama JPG formatui; ââtai ne tas pats, kas svetainÄs įraÅ¡o vaizdai keiÄiasi kas 5 minutes.
âProcentasâ â tai objekto amÅŸiaus procentinÄ dalis (nuo paskutinio pakeitimo), kuri bus laikoma ânaujaâ arba âÅ¡vieÅŸiaâ. PavyzdÅŸiui, jei nuolat perkraunate arba atnaujinate tinklalapį, kad pamatytumÄte naujausius pakeitimus, âSquidâ gali manyti, kad jei objektas pasiekÄ, tarkime, 50 % laiko tarp minimalios ir maksimalios vertÄs , jis vÄl atsisiųs tÄ objektÄ iÅ¡ interneto ir pateiks jums naujÄ kopijÄ .
âMaxâ yra riba, virÅ¡ijanti arba lygi âMinâ, kiek laiko objektas laikomas ânauju arba gaiviuâ. Tarkime, kad paveikslÄlį puslapyje vartotojas perÅŸiÅ«rÄjo tik vienÄ kartÄ ; tas objektas jau pasiekÄ savo minimalų laikÄ , bet ne maksimalų laikÄ . Taigi, kai jis bus perÅŸiÅ«rimas dar kartÄ , bus pateikta talpykloje saugoma kopija.
Options:
override-expire
override-lastmod
reload-into-ims
ignore-reload
ignore-no-store
ignore-private
max-stale=NN
refresh-ims
store-stale
Å ios galimybÄs daÅŸniausiai buvo skirtos ignoruoti iÅ¡ anksto nustatytÄ elgesį kalbomis ir protokolais, siekiant garantuoti efektyvų talpyklos naudojimÄ .
override-expire
Tai uÅŸtikrina minimalų objekto laikÄ , net jei serveris iÅ¡siuntÄ trumpesnį galiojimo laikÄ (pvz., AntraÅ¡tÄs arba âCache-Controlâ: max-age). Jei tai padarysime, pasirodys âperspÄjimasâ, sakantis tokius dalykus kaip âPaÅŸeidÅŸia HTTP standartÄ â, bet tai tik įspÄjimai, kurių galime nepaisyti. Jei laikas, kurį serveris siunÄia, yra ilgesnis, kalmarai uÅŸtruks serverio laikÄ (galiojimo laikÄ )
override-lastmod
Sustiprina minimalų daikto laikÄ , net jei tas elementas buvo neseniai modifikuotas.
reload-into-ims
Trumpas paaiÅ¡kinimas yra tas, kad jis neleidÅŸia, kad paspaudus atnaujinimo mygtukÄ arba pateikus uÅŸklausÄ be talpyklos, kalmarai pateiks talpyklÄ , jei ji nebuvo âmodifikuotaâ ir (arba) jei puslapyje nebus âantraÅ¡Äiųâ.
ignore-reload
Nepaisykite naudotojų veiksmų, norÄdami paspausti mygtukÄ iÅ¡ naujo arba atnaujinti
ignore-no-store
Nepaisykite jokių antraÅ¡tÄse esanÄių taisyklių, kad nebÅ«tų talpinama, pvz., Vaizdo įraÅ¡ai
ignore-private
Nepaisykite jokių taisyklių privataus turinio antraÅ¡tÄse, kurių nereikÄtų laikyti talpykloje, pavyzdÅŸiui: âfacebookâ turinys.
refresh-ims
Kalmarai susisiekia su serveriu, norÄdami įsitikinti, ar objektas yra naujausias. Jei taip, tai pateiks talpyklÄ
store-stale
Kalmarai iÅ¡saugos visus tuos atsakymus, net jei jie neturi galiojimo pabaigos datos, tai yra labai nepraktiÅ¡ka, nes paprastai jų negalima pakartotinai naudoti. Jei nusprÄsite jį įjungti, turite deklaruoti max-stale = NN
max-stale=NN
Jei įgalinote tai, kas iÅ¡dÄstyta pirmiau, turite deklaruoti maksimalų to atsako ar veiksnio tarnavimo laikÄ . Kalmarai nepateikia Å¡io stiliaus objektų, taÄiau gali patvirtinti juos naudodami Å¡altinį
Äia pateikiama lentelÄ, kaip veikia Å¡vieÅŸia âÅ VIEÅœIâ bÅ«sena pagal mÅ«sų aptartas vertybes:
- Å VEIKAS, jei pasibaigs galiojimo laikas> dabar, kitu atveju PABAIGA
- STALE, jei amÅŸius> maks
- ŠVIEŜI, jei lm koeficientas <procentų, dar PABAIGAS
- Å VIEÅœI, jei amÅŸius <min. KITAS PABAIGAS
Äia pateikiamas konkreÄios įmonÄs, kurioje yra daug vietos diske, gera įranga ir didelis pralaidumas, konfigÅ«racijos pavyzdys
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
Dabar kaupimas talpykloje atliekamas ne tik standÅŸiajame diske; galime kaupti ir RAM atmintyje. Å i vertÄ priklauso kiekvienam âSquidâ procesui, todÄl turÄtumÄte į jÄ atsiÅŸvelgti naudodami peradresavimo priemones, tokias kaip âSquidGuardâ.
maximum_object_size_in_memory 1024 KB
Maksimalus atmintyje esanÄio objekto, kurį kalmarai iÅ¡saugos RAM, dydis. Taip pat galite deklaruoti minimumÄ .
memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF
Kaip matote, viena yra talpyklos pakeitimo RAM atmintyje politika, kita - kietajame diske. Yra 2 GDSF ir LFUDA strategijos. Pirmasis siekia pagerinti talpyklos paspaudimų procentÄ , turÄdamas daug maşų objektų, antrasis siekia prieÅ¡ingai, objektus laiko talpykloje, neatsiÅŸvelgiant į jų dydį.
Ä®sivaizduoju, kad Å¡iuo metu manÄs klausiate, klausimas, kÄ aÅ¡ naudoju? Na, jei manote, kad jÅ«sų aplinkoje jie atlieka daugybÄ uÅŸklausų ir maÅŸai atsisiuntimų naudoja GDSF, prieÅ¡ingai, jie atsisiunÄia daug ir maÅŸai LFUDA uÅŸklausų . Jei rekomenduoju LFUDA, kai ketinate tai padaryti, aÅ¡ neÅŸinau, talpyklÄ 1 TB diske, tai yra efektyviau.
maximum_object_size 4 MB
Maksimalus objekto dydis gali būti saugomas
cache_dir aufs /media/proxy249/cache 100 16 256
Kur bus saugoma talpykla, Äia atkreipkite dÄmesį, svarbu, jei naudojate uf, aufs ar diskd, visi 3 veikia daugmaÅŸ vienodai, skirtumas tas, kad auf ir diskas dirba su atskirais procesais, kad atliktų įvesties / iÅ¡vesties operacijas kietajame diske. diskÄ ir venkite, kad kalmarų procesai pakibtų atliekant Å¡ias operacijas. Be to, diskd galite nurodyti siÅ«lų, kurias turÄsite atlikti Å¡iÄ uÅŸduotį, skaiÄių. AÅ¡ rekomenduoju aufs, jei turite gerÄ komandÄ .
100 dydis (megabaitai), galite įdÄti 100000 100, yra beveik 16 GB, priklauso nuo jÅ«sų prieinamumo. 256 yra aplankų skaiÄius, o XNUMX - antrinių aplankų skaiÄius. Galite ÅŸaisti naudodamiesi abiem vertybÄmis, priklausomai nuo to, kaip greitai veikia jÅ«sų diskai ir kiek turite iÅ¡teklių.
cache_swap_low 90
cache_swap_high 95
Å ios parinktys yra objekto pakeitimo vertÄs, tai yra maÅŸiausia ir didÅŸiausia vertÄ kaip vandens ÅŸenklas pagal kalmarus, kur Å¡ie skaiÄiai yra procentais (%), o labai maÅŸoje talpykloje dabar tokie 5% bÅ«tų, tarkime, 300 objektų per sekundÄ, taÄiau labai didelÄse talpyklose kalbÄtume apie tÅ«kstanÄius MB
Na, kol kas tiek. Komentuokite ir atsiÅŸvelkite į tuos, kurie man sakÄ, kad jie negali kaupti talpykloje ir filtruoti HTTPS (SSL) puslapių âSquid 3.5â ar naujesnÄse versijose; netrukus jums tai parodysiu, tad sekite naujienas Å¡iame tinklaraÅ¡tyje.