Cache cache - bahagi 2

Ang pusit ay hindi lamang isang serbisyo ng proxy at cache, maaari itong magawa ng higit pa: pamahalaan ang acl (mga listahan ng pag-access), nilalaman ng filter, maaari pa itong mag-filter ng ssl kahit sa transparent mode (pamamaraan ng proxy - nang hindi kinakailangang i-configure sa mga setting ng proxy mula sa kanilang mga browser, ito ay tulad ng tao sa gitna, walang nakakaalam na nandoon). Kaya karaniwang nakikita ko kung paano nasayang ang buong potensyal ng application na ito sa pamamagitan ng hindi pag-alam kung paano i-configure ang bawat bahagi nito.

Ngayon ang kagiliw-giliw na bagay na ginagawa ng pusit ay ang cache (sa palagay ko). Sasabihin mo sa akin, bakit ang cache? Ang dahilan ay simple, mas mahusay na pamamahala ng paggamit ng iyong bilis at bandwidth ang pangunahing bagay. Mag-isip nang mabuti, 1000 mga tao sa iyong kumpanya ang kumunsulta sa bawat 5 minuto, mga karaniwang pahina, Google, Hotmail, Gmail, atbp ... upang mag-download ka ng mga imahe, banner, advertising, nilalaman ng html nang paulit-ulit, lahat ng ito ay mga static na bagay, hindi Napakalaki nilang binabago, mas mahusay na nakaimbak ang mga ito sa iyong lokal na network at naghahatid ka ng isang kopya na isinasaalang-alang mo kamakailan sa loob ng mga pagsasaayos na iyong isinasaalang-alang.

Paano ito gawin? Simple sa sumusunod na pangungusap:

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

Tulad ng lagi kong sinasabi, huwag maniwala sa lahat, kaya inaanyayahan kita na basahin mula sa opisyal na mapagkukunan. Inirerekumenda kong basahin mo ang manu-manong ng pangungusap na ito DITO

Pangungusap refresh_pattern Palaging magiging label namin ito upang magdagdag ng mga bagong parameter sa cache.

Mahalaga, ang iyong mga listahan ng cache ay dapat na sunud-sunod, sapagkat sa sandaling tumugma ito sa unang tumutugma sa object, hindi nito ipagpapatuloy ang pagbabasa ng iyong iba pang mga patakaran.

Ang mga regular na expression ay case-sensitive, samakatuwid ang flv ay hindi pareho sa FLV, ngunit maiiwasan mo ito kung nais mo sa pamamagitan ng paggamit ng pagpipilian -i . Pagkatapos ito ay magiging ganito i-refresh_pattern -i

'Min': ay ang oras (minuto) kung saan ang isang bagay ay isasaalang-alang bilang "kamakailan o sariwa" at kung wala itong isang malinaw na label na "nag-expire". Bilang default na inirekumenda ng pusit na 0, para sa mga kadahilanang ang ilang mga dinamikong application ay maaaring kumilos nang kakaiba, puro blah blah blah, talagang ang halagang ito ay dapat na isang bilang na itinuturing mong kapaki-pakinabang at epektibo para sa mga elemento na nais mong i-cache, halimbawa: jpg, 1440 minuto (isang araw) ay mukhang mabuti sa akin, hindi tulad kung ang mga imahe ng isang post ay nagbabago tuwing 5 minuto sa isang pahina.

'Porsyento' Ito ang porsyento ng edad ng isang bagay (mula sa huling pagbabago) na isasaalang-alang «bago o sariwa». Hayaan akong ipaliwanag, marahil sa paggawa ng isang pare-pareho na muling pag-reload o pag-refresh upang makita ang huling mga pagbabago na ginawa sa isang web page, maaaring isaalang-alang ng pusit kung mayroon na ito, sabihin, 50% ng oras na nakumpleto sa pagitan minuto y max, muling i-download ang bagay na iyon mula sa internet at bigyan ka ng isang bagong kopya.

'Max' ay ang hangganan sa itaas o katumbas ng 'Min' kung gaano katagal ang isang bagay ay itinuturing na «kamakailan o sariwa», ipagpalagay na ang isang imahe ng ilang pahina ay kinunsulta lamang ng isang gumagamit, ang bagay na iyon ay umabot na sa oras nito minuto, ngunit hindi ang max, pagkatapos ay kapag ito ay muling natanong, isang cache kopya ay maihahatid.

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

Ang mga pagpipiliang ito ay ginawa karamihan upang huwag pansinin ang paunang itinatag na pag-uugali sa mga wika at mga protokol, upang masiguro ang mabisang paggamit ng cache.

override-expire

Ipinatutupad nito ang minimum na oras ng isang bagay, kahit na ang server ay nagpadala ng isang mas maikling oras ng pag-expire (halimbawang mga bagay tulad ng header o Cache-Control: max-age). Kung gagawin natin ito, lilitaw ang isang "babala" na nagsasabi ng mga bagay tulad nito "BINALIT ang pamantayan ng HTTP" ngunit mga babala lamang iyon na maaari nating balewalain. Ngayon kung ang oras na ipinadala ng isang server ay mas mahaba pagkatapos ay kukuha ng squid ang oras (expiration) ng server

override-lastmod

Pinatitibay ang minimum na oras ng isang item, kahit na ang item na iyon ay nabago kamakailan.

reload-into-ims

Ang maikling paliwanag ay pinipigilan nito na kapag pinindot namin ang pindutan ng pag-refresh o gumawa ng isang kahilingan na walang cache, maghatid ang cache ng cache kung hindi ito "nabago mula noon" at / o kung walang "mga header" sa pahina.

ignore-reload

Balewalain ang pagkilos ng mga gumagamit upang pindutin ang pindutang muling i-reload o i-refresh ang pahina

ignore-no-store

Huwag pansinin ang anumang panuntunan sa mga header na huwag mag-cache, halimbawa ng mga video

ignore-private

Balewalain ang anumang mga patakaran sa mga pribadong nilalaman ng mga header na hindi dapat na naka-cache, halimbawa: nilalaman sa facebook.

refresh-ims

Kinokontak ng pusit ang server, upang ginagarantiyahan kung ang bagay ay ang pinakabago. Kung ito ay pagkatapos ay maghahatid ng cache

store-stale

I-save ng pusit ang lahat ng mga tugon na iyon, kahit na wala silang petsa ng pag-expire, napakaaktibo nito dahil karaniwang hindi ito magagamit muli. Kung magpasya kang paganahin ito dapat mong ideklara ang max-stale = NN

max-stale=NN

Kung pinagana mo ang nasa itaas, dapat mong ideklara ang isang maximum na panghabang buhay para sa tugon o salik na iyon. Ang Squid ay hindi naghahatid ng mga bagay ng ganitong istilo ngunit maaaring patunayan ito sa pinagmulan

Narito ang isang talahanayan kung paano gumagana ang estado na "FRESH" alinsunod sa mga halagang tinalakay natin:

  • FRESH kung mag-e-expire> ngayon, iba pang STALE
  • STALE kung edad> max
  • FRESH kung lm-factor <porsyento, iba pang STALE
  • FRESH kung edad <min else STALE

Narito ang isang halimbawa ng pagsasaayos para sa isang tukoy na kumpanya na may maraming puwang sa disk, mahusay na kagamitan at mahusay na bandwidth

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

Ngayon ang cache ay hindi lamang sa hard disk, maaari din nating i-cache ang memorya ng ram, ang halagang ito ay para sa bawat proseso ng pusit, kaya dapat mong isaalang-alang ito kapag gumamit ka ng mga redirector tulad ng squidGuard

maximum_object_size_in_memory 1024 KB

Ang maximum na laki ng bagay sa memorya na ang pusit ay itatabi sa RAM. Maaari ka ring magdeklara ng isang minimum.


memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF

Tulad ng nakikita mo, ang isa ay ang patakaran para sa kapalit ng cache sa memorya ng RAM at isa pa sa hard disk. Mayroong 2 mga patakaran GDSF at LFUDA. Ang unang naghahangad na mapabuti ang porsyento ng mga hit ng cache, pagkakaroon ng maraming maliliit na bagay sa kamay, ang pangalawa ay naghahanap ng kabaligtaran, pinapanatili nito ang mga bagay sa cache anuman ang kanilang laki.

Ang katanungang naiisip kong tinatanong mo ako sa ngayon ay, anong paggamit ang ginagamit ko? Buweno, kung isasaalang-alang mo sa iyong kapaligiran gumagawa sila ng maraming mga query at kaunting mga pag-download ang gumagamit ng GDSF kung sa kabaligtaran ay maraming mga pag-download ang ginagawa nila at kaunting mga query sa LFUDA. Na kung inirerekumenda ko ang LFUDA kapag gagawin mo, hindi ko alam, cache sa 1TB ng disk, mas mahusay ito.

maximum_object_size 4 MB

Ang maximum na laki na maaaring maimbak ng isang bagay

cache_dir aufs /media/proxy249/cache 100 16 256

Kung saan itatago ang cache, pansin dito, mahalaga ay kung gumagamit ka ng mga ufs, aufs o diskd, lahat ng 3 ay gumagana nang higit pa o mas kaunti sa pareho, ang pagkakaiba ay gumagana ang mga auf at diskd na may magkakahiwalay na proseso upang gawin ang mga pagpapatakbo ng I / O sa hard disk at iwasan na ang proseso ng pusit ay nakabitin sa mga pagpapatakbo na ito, bilang karagdagan diskd maaari mong tukuyin ang bilang ng mga thread na magkakaroon ka para sa gawaing ito. Inirerekumenda ko ang mga auf kung mayroon kang isang mahusay na koponan.

Laki ng 100 (megabytes), maaari kang maglagay ng 100000 ay halos 100GB ay depende sa iyong kakayahang magamit. Ang 16 ay ang bilang ng mga folder, at 256 ang bilang ng mga sub-folder. Maaari kang maglaro kasama ang parehong mga halaga ay nakasalalay sa kung gaano kabilis ang iyong mga disc at kung magkano ang mga mapagkukunan na mayroon ka.


cache_swap_low 90
cache_swap_high 95

Ang mga pagpipiliang ito ay ang mga halaga ng kapalit ng bagay, ito ang minimum at maximum na halaga bilang isang watermark ayon sa pusit, kung saan ang mga bilang na ito ay nasa porsyento (%), at sa isang napakaliit na cache, 5% tulad nito sa ngayon ay sasabihin nating 300 mga bagay bawat segundo , ngunit sa napakalaking mga cache ay pinag-uusapan natin ang libu-libong MB

Sa gayon, doon ko iniiwan ka, ito sa ngayon, komento at isasaalang-alang din ang mga nagsabi sa akin na hindi nila ma-cache at mai-filter ang mga pahina ng https (SSL) sa pusit na 3.5 o mas mataas, dadalhin ko sila sa iyo sa lalong madaling panahon, manatiling nakasubaybay sa blog na ito.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Ing.Jose Albert dijo

    Mahusay na pandagdag sa unang bahagi!

    Mayroong maraming panitikan tungkol sa Squid, ngunit ang pagpunta sa punto sa mga pinaka praktikal na pagpipilian sa kanilang kani-kanilang mga paliwanag at posibleng mga tunay na sitwasyon sa paggamit ay hindi palaging nasa kamay!

    Tulad ng dati, inaasahan ko ang pangatlong bahagi nito!

    1.    brodydalle dijo

      Salamat sa pahayag mo. Ito ay tama, isang maigsi na paliwanag ng lahat ng nauugnay na mga elemento, at isang pinakamahusay na pag-set up ng kasanayan. Gayunpaman, palagi akong nakakaintindi sa iyong mga komento at sariling karanasan.

  2.   artus dijo

    Kumusta, mayroon akong problema sa mga pag-update sa windows at antivirus. Mayroon akong humigit-kumulang na 120 pc sa aking institusyon. Maaari mo ba akong bigyan ng ideya kung paano pagbutihin ang sitwasyong ito. Salamat sa iyong tulong at pagbati sa artikulo.

    1.    brodydalle dijo

      Kumusta, salamat sa paglahok .. mabuti kung makakatulong ako sa iyo, ngunit ipaliwanag nang mabuti kung ano ang iyong problema, hindi mo mai-download ang mga update? Naglagay ka ba ng proxy sa mga pagpipilian sa Internet at pareho sa mga pagpipilian ng proxy ng iyong browser? Sinuri mo ba ang mga port? O gusto mo bang i-cache ang mga pag-update na iyon?

      1.    artus dijo

        Ang kailangan ko ay tuwing mag-download ang isang computer ng pag-update ng windows o antivirus, mananatili ito sa cache sa loob ng halos isang buwan, sa ganitong paraan nais kong makatipid ng bandwidth, dahil tuwing umaga tuwing oras. lahat ng mga computer ay nagsisimulang mag-download ng parehong pag-update sa bawat isa at ang koneksyon ay nabusog.

        Salamat sa iyong tulong.

    2.    Mario dijo

      Gumagana ang isang server na may Squid, dahil ang mga ito ay simpleng hindi na-encrypt na pag-download ng http. Ang iba pang mga solusyon para sa cache ay WSUS at Altiris, normal sa mga kumpanya.

      1.    artus dijo

        Salamat Mario isasaisip ko ito.

    3.    brodydalle dijo

      ok handa, naiintindihan ko, suriin ang link na ito. http://wiki.squid-cache.org/SquidFaq/WindowsUpdate. upang i-cache ang antivirus, kailangan mong malaman kung saan nai-download ang mga pag-update mula sa at sa ilalim ng anong extension (halimbawa .exe) at i-cache ito ...

  3.   artus dijo

    Salamat sa iyong tulong.

  4.   Erick dijo

    Magandang umaga mga kaibigan, maaari mo ba akong suportahan sa aking kaso. Dahil mayroon akong pusit na 2.7 .STABLE9 sa isang debian 6, at na-configure ko ang lahat at kapag inilalagay ito sa isang 10 pc environment, nakakakuha ako ng normal na mail, ang problema ay namamalagi kapag na-mount ko ito para sa 90 pc, tumatagal lamang ito ng ilang segundo na nagtatrabaho at mula doon lahat ay naiwan silang walang internet. Maaari mo ba akong suportahan?

  5.   JOSE RIVAS dijo

    Mahusay na paliwanag, pangunahing ngunit napakalinaw at tumpak. Personal na ang pinakamahusay na paliwanag na nabasa ko.
    Mayroon akong isang katanungan, posible bang i-cache ang mga application ng Android tulad ng apk at xapk?
    At ano ang magiging tamang paraan upang mai-configure ang pabago-bagong cache anupaman ang pinagmulan ng mga file?
    Gumagamit ako ng pfSense 2.4.5.