Кеш лигње - 2. део

Скуид није само проки и цацхе услуга, већ може и много више: управља ацл (приступним листама), филтрира садржај, може чак и ссл филтрирање чак и у транспарентном режиму (проки метода - без потребе за конфигурацијом у подешавањима проки сервера) из њихових прегледача, то је као човек у средини, нико не зна да је тамо). Тако често видим како се пуни потенцијал ове апликације троши не знајући како да конфигуришем сваки њен део.

Сада је занимљива ствар коју лигње раде кеш (по мом мишљењу). Рећи ћете ми зашто кеширање? Разлог је једноставан, главна ствар је боље управљање употребом брзине и пропусног опсега. Добро размислите, 1000 људи у вашој компанији консултује се сваких 5 минута, уобичајене странице, Гоогле, Хотмаил, Гмаил итд ... тако да ћете изнова и изнова преузимати слике, банере, рекламе, хтмл садржај, све су то статичне ствари, не Мењају се тако често, боље је да се чувају у вашој локалној мрежи и ви доставите копију коју сматрате недавном у конфигурацијама које сте узели у обзир.

Како то учинити? Једноставно са следећом реченицом:

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

Као што увек кажем, не верујте свему, зато вас охрабрујем да читате званични извор. Препоручујем да прочитате упутство за ову пресуду ОВДЕ.

Изјава refresh_pattern ће увек бити наша ознака за додавање нових параметара у кеш.

Важно је да ваше листе кеш меморије морају бити секвенцијалне, јер када се подударају са првом која се подудара са објектом, неће наставити читати ваша друга правила.

Регуларни изрази разликују велика и мала слова, тако да flv није исто што и FLV, али то можете избећи ако желите коришћењем опције -i . Тада би изгледало овако: refresh_pattern -i

„Мин“: Ово је време (у минутима) током којег ће се објекат сматрати „свежим“ ако нема експлицитну ознаку „истекао“. Подразумевано, Squid препоручује 0, јер се неке динамичке апликације могу чудно понашати. Ова вредност би заправо требало да буде број који сматрате корисним и ефикасним за елементе које желите да кеширате. На пример, 1440 минута (један дан) ми делује у реду за JPG датотеке; није као да се слике у објави на веб локацији мењају сваких 5 минута.

„Проценат“ је проценат старости објекта (од последње модификације) који ће се сматрати „недавним“ или „свежим“. На пример, ако стално поново учитавате или освежавате веб страницу да бисте видели најновије модификације, Squid би могао да узме у обзир да ако је објекат достигао, рецимо, 50% времена између минималне и максималне вредности , поново ће преузети тај објекат са интернета и дати вам нову копију.

„Макс“ је ограничење изнад или једнако „Мин“ за колико дуго се објекат сматра „недавним или свежим“. Претпоставимо да је корисник само једном видео слику на страници; тај објекат је већ достигао своје минимално време , али не и максимално време . Дакле, када се поново прегледа, биће испоручена кеширана копија.

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

Ове опције су направљене углавном за игнорисање унапред успостављеног понашања у језицима и протоколима, како би се загарантовала ефикасна употреба кеш меморије.

override-expire

Примењује минимално време објекта, чак и ако је сервер послао краће време истека (на пример ствари попут заглавља или Цацхе-Цонтрол: мак-аге). Ако то учинимо, појавиће се „упозорење“ у којем се кажу ствари попут овог „КРШИ ХТТП стандард“, али то су само упозорења која можемо занемарити. Сада, ако је време које сервер шаље дуже, лигњама ће требати време (истек) сервера

override-lastmod

Појачава минимално време ставке, чак и ако је та ставка недавно измењена.

reload-into-ims

Кратко објашњење је да спречава да кад притиснемо дугме за освежавање или поднесемо захтев за не-кеширање, лигње ће доставити кеш меморију ако није „измењена од“ и / или ако на страници нема „заглавља“.

ignore-reload

Занемарите радњу корисника да притисну дугме за поновно учитавање или освежавање странице

ignore-no-store

Занемарите било које правило у заглављима да се не кеширају, на пример видео снимци

ignore-private

Занемарите било које правило у заглављима приватног садржаја које не треба кеширати, пример: садржај на фацебооку.

refresh-ims

Скуид контактира сервер како би се осигурало да ли је објекат најновији. Ако јесте, испоручиће кеш меморију

store-stale

Лигње ће сачувати све те одговоре, чак и ако немају датум истека, ово је врло непрактично јер се обично не могу поново користити. Ако се одлучите да га омогућите, морате прогласити мак-стале = НН

max-stale=NN

Ако сте омогућили горе наведено, морате навести максимални животни век за тај одговор или фактор. Лигња не испоручује предмете овог стила, али може да их потврди са извором

Ево табеле како функционише стање свежег „СВЕЖЕГ“ у складу са вредностима о којима смо разговарали:

  • СВЕЖЕ ако истекну> сада, у противном СТАЛЕ
  • ПРОГРАДИ ако је старост> макс
  • СВЕЖЕ ако је лм-фактор <процента, у противном КРАЂИ
  • СВЕЖЕ ако је старост <мин друго КРАЂИ

Ево примера конфигурације за одређену компанију са пуно простора на диску, добром опремом и добром пропусношћу

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

Кеширање сада није само на чврстом диску; можемо кеширати и у РАМ меморији. Ова вредност је за сваки Squid процес, тако да би требало да је узмете у обзир када користите преусмераваче попут SquidGuard-а.

maximum_object_size_in_memory 1024 KB

Максимална величина објекта у меморији коју ће лигње сачувати у РАМ-у. Такође можете прогласити минимум.


memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF

Као што видите, једна је политика замене кеш меморије у РАМ меморији, а друга на чврстом диску. Постоје 2 политике ГДСФ и ЛФУДА. Први жели да побољша проценат погодака кеш меморије, имајући при руци много малих предмета, други тражи супротно, задржава предмете у кешу без обзира на њихову величину.

Питање за које претпостављам да ме тренутно постављате је, коју корист користим? Па, ако сматрате да у вашем окружењу они врше много упита, а мало преузимања користи ГДСФ ако, напротив, раде много преузимања и мало ЛФУДА упита. Да ако препоручим ЛФУДА када ћете, не знам, кеширање на 1ТБ диска, то је ефикасније.

maximum_object_size 4 MB

Максимална величина коју објекат мора да сачува

cache_dir aufs /media/proxy249/cache 100 16 256

Тамо где ће бити сачувана кеш меморија, овде је пажња важна ако користите уфс, ауфс или дискд, све три раде мање више исто, разлика је у томе што ауфс и дискд раде са одвојеним процесима да би извршили И / О операције на тврдом диску и избегавајте да процеси лигања висе током ових операција, осим тога на диску можете одредити број нити које ћете имати за овај задатак. Препоручујем ауфс ако имате добар тим.

Величина 100 (мегабајта), можете ставити 100000 је скоро 100 ГБ, зависи од ваше доступности. 16 је број фасцикли, а 256 је број подмапа. Можете да се играте са обе вредности, зависно од брзине дискова и количине ресурса.


cache_swap_low 90
cache_swap_high 95

Ове опције су заменске вредности објеката, то је минимална и максимална вредност као водени жиг према лигњама, где су ови бројеви у процентима (%), а у врло малом предмеморији, 5% попут овог тренутно би било рецимо 300 објеката у секунди , али у врло великим кеш меморијама говорили бисмо о хиљадама МБ

Па, то је све за сада. Коментаришите, а такође узмите у обзир и оне који су ми рекли да не могу да кеширају и филтрирају HTTPS (SSL) странице у Squid 3.5 или новијим верзијама; ускоро ћу вам то представити, зато пратите овај блог.


Додај као жељени извор на Гуглу