Squid cache - 2-р хэсэг

Squid нь зөвхөн прокси болон кэшийн үйлчилгээ төдийгүй илүү их зүйлийг хийх боломжтой: acl (хандалтын жагсаалт) -ыг удирдах, агуулгыг шүүх, тэр ч байтугай ил тод горимд ч гэсэн ssl шүүлтүүр хийх боломжтой (прокси арга - таны хөтчөөс прокси тохиргоонд тохируулах шаардлагагүйгээр. , яг л яг хүн шиг байгаа, тэнд хэн ч мэдэхгүй). Тиймээс тус хэсэг бүрийг хэрхэн тохируулахаа мэдэхгүй байснаар энэ програмын бүрэн чадамж хэрхэн үрэгдэж байгааг би ихэвчлэн хардаг.

Одоо далайн амьтан хийдэг сонирхолтой зүйл бол кэш юм (миний бодлоор). Шалтгаан нь энгийн, хурд, зурвасынхаа ашиглалтыг илүү сайн зохицуулах нь гол зүйл гэдгийг та надад хэлэх болно. Танай компанид 1000 минут тутамд 5 хүн зөвлөгөө өгдөг нийтлэг хуудсууд, Google, Hotmail, Gmail гэх мэтийг сайтар бодож үзээрэй, ингэснээр та зураг, баннер, сурталчилгаа, html агуулгыг дахин дахин татаж авах болно, бүгд хөдөлгөөнгүй байна. зүйлс, үгүй ​​Тэдгээр нь байнга өөрчлөгдөж байдаг бөгөөд үүнийг дотоод сүлжээнд хадгалуулж, хамгийн сүүлд авч үзсэн тохиргооныхоо дагуу хуулбарыг хүргэх нь дээр.

Үүнийг яаж хийх вэ? Дараах өгүүлбэрээр энгийн:

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

Би үргэлж хэлдэг шиг бүх зүйлд битгий итгээрэй, тиймээс албан ёсны эх сурвалжаас уншихыг урьж байна. Энэ өгүүлбэрийн гарын авлагыг уншихыг зөвлөж байна ЭНД

Өгүүлбэр шинэчлэх загвар Кэш дээр шинэ параметрүүдийг нэмэх нь үргэлж бидний шошго байх болно.

Чухал зүйл бол таны кэшийн жагсаалтууд дараалсан байх ёстой, учир нь объекттой таарч байгаа эхнийхтэй нь таарвал таны бусад дүрмийг үргэлжлүүлэн уншихгүй.

Тогтмол хэллэг нь том жижиг үсгийн мэдрэмжтэй байдаг тул flv нь FLV-тэй ижил биш боловч та хүсвэл сонголтыг ашигласнаар үүнээс зайлсхийх боломжтой. -i . Дараа нь иймэрхүү харагдах болно шинэчлэх_загвар -i

'Мин': объект нь "саяхан эсвэл шинэ" гэж тооцогдох цаг хугацаа (минут) бөгөөд хэрэв "хугацаа нь дууссан" гэсэн тодорхой шошгогүй бол. Анхдагч байдлаар далайн амьтан 0 байхыг зөвлөж байна, учир нь зарим динамик програмууд хачин, цэвэр бла бла бла ажиллах чадвартай тул энэ утга нь таны хадгалахыг хүсч буй элементүүдийн хувьд ашигтай, үр дүнтэй гэж үзсэн тоо байх ёстой, Жишээ нь: jpg, 1440 минут (өдөрт) надад зүгээр юм шиг санагддаг, энэ нь хуудсан дээрх бичлэгийн зураг 5 минут тутамд өөрчлөгддөгтэй адил биш юм.

"Хувь" Энэ нь обьектын насжилтын хувь (сүүлчийн өөрчлөлтөөс хойш) нь "саяхан эсвэл шинэ" гэж тооцогдох болно. Надад тайлбарлаж өгье, магадгүй вэб хуудсанд хийсэн сүүлчийн өөрчлөлтийг харахын тулд байнга дахин ачаалах эсвэл шинэчлэх ажлыг хийх хэрэгтэй. мин y хамгийн их, тэр объектыг интернетээс дахин татаж аваад шинэ хувийг нь танд өгөх болно.

'Макс' нь дээрх буюу түүнтэй тэнцүү хязгаар юм "Мин" хэр удаан объектыг "саяхан эсвэл шинэ" гэж тооцдог вэ, зарим хуудасны зургийг хэрэглэгч ганц удаа лавлавал тухайн объект аль хэдийн цагтаа хүрсэн гэж үзье. мин, гэхдээ биш хамгийн их, дараа нь дахин асуухад кэшийн хуулбарыг хүргэх болно.

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

Эдгээр сонголтыг кэшийг үр дүнтэй ашиглах баталгааг хангахын тулд ихэвчлэн хэл, протокол дээр тогтсон зан үйлийг үл тоомсорлох зорилгоор хийсэн болно.

override-expire

Энэ нь сервер богино хугацааны хугацааг илгээсэн байсан ч объектын хамгийн бага хугацааг хэрэгжүүлдэг (жишээ нь толгой эсвэл Cache-Control гэх мэт зүйлс: max-age). Хэрэв бид үүнийг хийвэл "HTTP стандартыг зөрчиж байна" гэх мэт "анхааруулга" гарч ирэх боловч энэ нь бидний үл тоомсорлож болох анхааруулга юм. Хэрэв серверийн илгээсэн хугацаа урт байвал далайн амьтан серверийн хугацаа (хугацаа дуусах) болно

override-lastmod

Хэдийгээр тэр зүйлийг саяхан өөрчилсөн байсан ч тухайн зүйлийн хамгийн бага хугацааг бэхжүүлдэг.

reload-into-ims

Богино тайлбар нь, хэрэв бид дахин сэргээх товчийг дарах эсвэл кэш хийх шаардлагагүй хүсэлт гаргахад squid нь "өөрчлөгдөөгүй" болон / эсвэл хуудсанд "толгой" байхгүй бол кэшийг хүргэхээс сэргийлдэг.

ignore-reload

Хуудсыг дахин ачаалах эсвэл шинэчлэх товчийг дарах хэрэглэгчдийн үйлдлийг үл тоомсорлоорой

ignore-no-store

Жишээлбэл, видеонуудын толгой дээр кэш хийхгүй байх дүрмийг үл тоомсорлоорой

ignore-private

Хадгалагдах ёсгүй хувийн агуулгын толгой дээрх дүрмийг үл тоомсорлоорой, жишээ нь: facebook content.

refresh-ims

Squid нь хамгийн сүүлийн объект болохыг баталгаажуулахын тулд сервертэй холбоо барина. Хэрэв энэ нь байгаа бол энэ нь кэшийг хүргэх болно

store-stale

Squid нь эдгээр хариултуудыг бүгдийг нь хадгалах боловч хугацаа нь дуусаагүй байсан ч дахин ашиглах боломжгүй байдаг тул энэ нь маш практик байдаг. Хэрэв та үүнийг идэвхжүүлэхээр шийдсэн бол max-stale = NN гэж мэдэгдэх ёстой

max-stale=NN

Хэрэв та дээр дурдсан зүйлийг идэвхжүүлсэн бол тухайн хариу үйлдэл эсвэл хүчин зүйлд хамгийн их ашиглалтын хугацааг зарлах ёстой. Squid нь энэ хэв маягийн объектуудыг хүргэдэггүй боловч эх сурвалжаар нь баталгаажуулж чаддаг

"FRESH" төлөв нь бидний ярилцсан утгын дагуу хэрхэн ажилладаг талаар хүснэгтийг энд оруулав.

  • Хугацаа нь дуусвал> одоо шинэхэн бол STALE
  • Нас> хамгийн их бол STALE
  • FRESH бол lm-factor <хувь, else STALE
  • FRESH if age <min else STALE

Дискний зай ихтэй, сайн тоног төхөөрөмжтэй, сайн зурвасын өргөнтэй тодорхой компанид зориулсан жишээ тохиргоог энд оруулав

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

Одоо кэш нь зөвхөн хатуу дискэн дээр биш, бид RAM санах ойг кэшлэх боломжтой бөгөөд энэ утга нь далайн амьтан бүрийн үйл явцын хувьд зориулагдсан тул та дахин чиглүүлэгч ашиглахдаа үүнийг анхаарч үзэх хэрэгтэй. далайн амьтан

maximum_object_size_in_memory 1024 KB

Кальмарын RAM-д хадгалах санах ой дахь объектын хамгийн дээд хэмжээ. Та мөн доод хэмжээг зарлаж болно.


memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF

Таны харж байгаагаар, нэг нь RAM санах ойд, нөгөө нь хатуу дискэнд кэш солих бодлого юм. GDSF ба LFUDA гэсэн 2 бодлого байдаг. Эхнийх нь гартаа олон жижиг объекттой байх үед кэшийн цохилтын хувь хэмжээг сайжруулахыг эрмэлздэг, хоёрдугаарт эсрэгээр нь обьектуудыг хэмжээнээс нь үл хамааран хадгалдаг.

Таныг надаас яг одоо асууж байна гэж төсөөлж байгаа асуулт бол би ямар хэрэг ашиглах вэ? Хэрэв та хүрээлэн буй орчиндоо тэд маш их асуулт асуудаг бөгөөд цөөн тооны татан авалт GDSF ашигладаг бол эсрэгээрээ маш их татдаг бол мөн цөөн тооны LFUDA асуултууд. Хэрэв та хийх гэж байгаа үедээ LFUDA-г санал болговол 1 TB диск дээр кэш хийвэл илүү үр дүнтэй байх болно.

maximum_object_size 4 MB

Обьектийг хадгалах боломжтой хамгийн дээд хэмжээ

cache_dir aufs /media/proxy249/cache 100 16 256

Кэшийг хаана хадгалах вэ, анхаарал хандуулах нь чухал, хэрэв та ufs, aufs эсвэл diskd ашигладаг бол гурвуулаа адилхан ажилладаг, ялгаатай нь aufs ба diskd нь тусдаа процессуудтай ажилладаг нь хатуу дээр I / O үйлдлийг хийдэг. диск хийх ба эдгээр үйлдлүүдийн үеэр далайн амьтан процессууд гацахаас зайлсхийх хэрэгтэй бөгөөд та энэ даалгаварт хэдэн ширхэг урсгал оруулахаа зааж өгч болно. Хэрэв та сайн багтай бол би aufs-ийг санал болгож байна.

Хэмжээ 100 (мегабайт), та 100000 тавьж болно, бараг 100 ГБ байх нь таны боломжоос хамаарна. 16 нь хавтасны тоо, 256 нь дэд хавтасны тоо юм. Та хоёулаа хоёуланг нь хоёуланг нь тоглуулах боломжтой бөгөөд таны дискнүүд хэр хурдан, хэр их нөөцтэй байгаагаас хамаарна.


cache_swap_low 90
cache_swap_high 95

Эдгээр сонголтууд нь объектыг орлуулах утгууд бөгөөд энэ нь далайн амьтдын дагуу усны тэмдэг шиг хамгийн бага ба хамгийн их утга бөгөөд эдгээр тоонууд хувь (%) байх бөгөөд маш бага кэш дотор яг одоо 5% ийм байх болно гэж бодъё. секундэд объект, гэхдээ маш том кэш дээр бид хэдэн мянган МБ-ийн тухай ярих болно

За, одоо би чамайг үлдээе, үүнийг одоохондоо, тайлбарлаач Надад https хуудсыг (SSL) squid 3.5 буюу түүнээс дээш хувилбар дээр кэш хийж, шүүж чадахгүй гэж хэлсэн хүмүүсийг анхааралдаа авах хэрэгтэй. Би удахгүй та бүхэнд хүргэх болно, энэ блогтой холбогдоорой.


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

11 сэтгэгдэл, үлдээгээрэй

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.

  1.   Хосе Альберт гэж хэлэв

    Эхний хэсгийн маш сайн нэмэлт!

    Squid-ийн талаар маш олон ном зохиол байдаг боловч тэдгээрийн тайлбар, бодит ашиглалтын хувилбаруудтай хамгийн практик хувилбаруудад хүрэх нь үргэлж бэлэн байдаггүй!

    Үргэлж л түүний гурав дахь хэсгийг тэсэн ядан хүлээж байна!

    1.    Броди Далле гэж хэлэв

      Сэтгэгдэл бичсэнд баярлалаа. Энэ нь зөв, холбогдох бүх элементүүдийн товч тайлбар, шилдэг туршлагын тохиргоо юм. Гэсэн хэдий ч би таны сэтгэгдэл, өөрийн туршлагыг үргэлж анхаарч үздэг.

  2.   артус гэж хэлэв

    Сайн уу, надад windows шинэчлэлт, вирусны эсрэг асуудал гарлаа. Миний байгууллагад ойролцоогоор 120 ширхэг байдаг. Энэ байдлыг хэрхэн сайжруулах талаар надад санаа өгөхгүй юу? Тусламжийнхаа төлөө баярлалаа, нийтлэлд баяр хүргэе.

    1.    Броди Далле гэж хэлэв

      Сайн байцгаана уу, оролцсонд баярлалаа .. хэрвээ би танд тусалж чадах уу, гэхдээ таны асуудал юу болохыг сайн тайлбарлаж өгвөл шинэчлэлтийг татаж авч чадахгүй байна уу? Та интернетийн тохиргоонд прокси, хөтчийнхөө прокси тохиргоонд ижил зүйл оруулсан уу? Портуудыг шалгасан уу? Эсвэл эдгээр шинэчлэлтүүдийг кэш хийхийг хүсч байна уу?

      1.    артус гэж хэлэв

        Надад хэрэгтэй зүйл бол компьютер цонх эсвэл антивирусын шинэчлэлтийг татаж авах болгонд энэ нь ойролцоогоор нэг сарын хугацаанд кэш дотор байх явдал юм.Иймээс өглөө бүр бүх компьютерууд адилхан татаж эхлэх бүрдээ би зурвасын өргөнийг хэмнэхийг хүсч байна. тус бүрийг шинэчилж, холболт ханасан байна.

        тусласанд баярлалаа.

    2.    Mario гэж хэлэв

      Squid бүхий сервер нь энгийн шифрлэгдээгүй http татаж авдаг тул ажилладаг. Кэшийн бусад шийдлүүд нь WSUS ба Altiris юм.

      1.    артус гэж хэлэв

        Мариод баярлалаа, би үүнийг санаж байх болно.

    3.    Броди Далле гэж хэлэв

      за бэлэн байна, ойлгож байна, энэ холбоосыг шалгана уу. http://wiki.squid-cache.org/SquidFaq/WindowsUpdate. Антивирусыг кэш хийхийн тулд шинэчлэлтүүдийг хаанаас, ямар өргөтгөл дор татаж авч байгааг мэдэж байх ёстой (жишээ .exe жишээ).

  3.   артус гэж хэлэв

    тусласанд баярлалаа.

  4.   Эрик гэж хэлэв

    Өглөөний мэнд найзуудаа, миний хэрэгт намайг дэмжиж чадах уу? Би дебиан 2.7 дээр squid 9 .STABLE6-тэй тул бүгдийг нь тохируулсан бөгөөд 10 ширхэг орчинд байрлуулахад ердийн захиа ирдэг, би үүнийг 90 ширхэг холбоход асуудал гардаг. Энэ нь ажиллахад хэдхэн секунд ажилладаг. тэндээс бүгд интернетгүй хоцорчээ. Та намайг дэмжиж чадах уу?

  5.   Жозе Ривас гэж хэлэв

    Маш сайн тайлбар, үндсэн боловч маш ойлгомжтой, нарийвчлалтай. Би хувьдаа хамгийн сайн тайлбарыг уншиж чадсан.
    Надад асуулт байна, apk, xapk гэх мэт Android програмуудыг кэш хийх боломжтой юу?
    Файлын эх сурвалжаас үл хамааран динамик кэшийг тохируулах зөв арга юу вэ?
    Би pfSense 2.4.5 ашигладаг.