Кальмардың кэші - 2 бөлім

Squid - бұл прокси-кэш қызметі ғана емес, ол әлдеқайда көп нәрсе істей алады: acl (кіру тізімдері), мазмұнын сүзу, тіпті мөлдір режимде де ssl сүзгісін жасай алады (прокси әдісі - прокси параметрлерінде конфигурациясыз) олардың браузерлерінде бұл дәл ортасында тұрған адам сияқты, оны ешкім білмейді). Сондықтан мен оның қосымшаларының әрқайсысын қалай теңшеу керектігін білмей, оның толық әлеуетін қалай жоғалтатынын көремін.

Енді кальмардың жасайтын қызығы - бұл кэш (менің ойымша). Сіз маған айтарсыз, неге кэш? Себеп қарапайым, жылдамдық пен өткізу қабілеттілігін жақсы басқарыңыз, бұл бастысы. Мұқият ойланыңыз, сіздің компанияңызда әр 1000 минут сайын 5 адам кеңес береді, жалпы беттер, Google, Hotmail, Gmail және т.б. Жергілікті желіде сақтау үшін олар жиі өзгереді, ал сіз жақында өзіңіз қарастырған конфигурацияда қарастырған көшірмені жеткізесіз.

Мұны қалай жасауға болады? Мына сөйлеммен қарапайым:

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

Мен әрқашан айтқандай, бәріне сенбеңіз, сондықтан сізді ресми ақпарат көзінен оқуға шақырамын. Мен сізге осы сөйлемнің нұсқаулығын оқып шығуға кеңес беремін БІЗДІҢ

Сөйлем жаңарту_қалып Кэшке жаңа параметрлер қосу әрқашан біздің этикетіміз болады.

Маңыздысы, сіздің кэш тізімдеріңіз дәйекті болуы керек, өйткені объектіге сәйкес келетін біріншісіне сәйкес келгеннен кейін, ол сіздің басқа ережелеріңізді оқуды жалғастырмайды

Тұрақты тіркестер регистрге сезімтал, сондықтан FLV FLV-мен бірдей емес, бірақ егер сіз қаласаңыз, опцияны қолдану арқылы болдырмауға болады -i . Сонда бұл келесідей болар еді жаңарту_үлгі -i

'Мин': Бұл объект «жақында немесе жаңа» деп саналатын уақыт (минут) және егер ол «жарамдылық мерзімі біткен» белгісіне ие болмаса. Әдепкі бойынша, кальмар 0-ге тең деп кеңес береді, кейбір динамикалық қосымшалар таңқаларлықтай жұмыс істей алады, сондықтан таза бла-бла-бла, шын мәнінде бұл мән сіз кэш жасағыңыз келетін элементтер үшін пайдалы және тиімді деп санайтын сан болуы керек, мысал: jpg, маған 1440 минут (күніне) жақсы көрінеді, парақтағы суреттер әр 5 минут сайын өзгеретін сияқты емес.

«Пайыз» Бұл «соңғы немесе жаңа» болып саналатын объектінің жасының пайыздық мөлшері (соңғы модификациядан бастап). Маған түсіндіруге рұқсат етіңіз, мүмкін веб-параққа енгізілген соңғы өзгертулерді көру үшін үнемі қайта жүктеп немесе жаңартып отырамын, кальмар егер бұл уақыттың 50% -ы аяқталған болса, қарастыра алады. маған 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

Қысқаша түсініктеме - бұл жаңарту батырмасын басқан кезде немесе кэштен бас тарту туралы өтініш жасаған кезде, кальмар егер ол «өзгертілмеген» болса және / немесе бетте «тақырыптар» болмаса, кэшті жеткізуге жол бермейді.

ignore-reload

Пайдаланушылардың парақты қайта жүктеу немесе жаңарту түймесін басу әрекетін елемеңіз

ignore-no-store

Кэш жасамау туралы тақырыптардағы кез-келген ережені елемеңіз, мысалы, бейнелер

ignore-private

Жеке мазмұнның тақырыпшаларында кэштелуге болмайтын кез-келген ережені елемеңіз, мысалы: facebook мазмұны.

refresh-ims

Squid объектінің ең жаңа екендігін тексеру үшін сервермен байланысады. Егер ол болса, онда ол кэшті жеткізеді

store-stale

Squid барлық жауаптарды сақтайды, тіпті егер олардың жарамдылық мерзімі болмаса да, бұл өте практикалық емес, өйткені оларды әдетте қайта пайдалану мүмкін емес. Егер сіз оны қосуды шешсеңіз, max-stale = NN деп жариялауыңыз керек

max-stale=NN

Егер сіз жоғарыда айтылғандарды қосқан болсаңыз, онда сіз осы жауап немесе фактор үшін максималды қызмет ету мерзімін жариялауыңыз керек. Squid бұл стильдегі объектілерді жеткізбейді, бірақ оны көзімен растай алады

Жаңа «FRESH» күйі біз қарастырған мәндерге сәйкес қалай жұмыс істейтіні туралы кесте:

  • FRESH мерзімі өтіп кетсе> қазір, әйтпесе STALE
  • STALE егер жасы> максимум
  • FRESH, егер lm-фактор <пайыз, әйтпесе 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

Енді кэш тек қатты дискіде ғана емес, сонымен қатар біз жедел жадты кэштей аламыз, бұл мән әрбір кальмар процесіне арналған, сондықтан оны қайта бағыттаушылар сияқты қолданған кезде ескеру қажет кальмарГвардия

maximum_object_size_in_memory 1024 KB

Кальмардың жедел жадыда сақтайтын жадтағы объектінің максималды мөлшері. Сіз сондай-ақ минимумды жариялай аласыз.


memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF

Көріп отырғаныңыздай, бірі жедел жадтағы, екіншісі қатты дискідегі кэшті ауыстыру саясаты. GDSF және LFUDA екі саясаты бар. Біріншісі қолында көптеген ұсақ заттары бар кэш хиттерінің пайызын жақсартуға тырысады, екіншісі керісінше іздейді, олардың өлшемдеріне қарамастан кэште объектілерді сақтайды.

Қазіргі кезде сіз маған қоятын сұрағыңыз: мен не қолданамын? Егер сіз өзіңіздің ортаңызда олар көптеген сұраулар жасайды деп ойласаңыз және аз жүктеулер GDSF пайдаланады, егер керісінше олар көптеген жүктеулер мен аз LFUDA сұрауларын жасаса. Егер сіз LFUDA-ны ұсынатын болсаңыз, білмеймін, 1 ТБ дискіні кэштесеңіз, бұл тиімдірек.

maximum_object_size 4 MB

Нысанды сақтауға болатын максималды өлшем

cache_dir aufs /media/proxy249/cache 100 16 256

Кэш сақталатын жерде назар аудару керек, егер сіз UFS, aufs немесе diskd пайдалансаңыз, барлығы бірдей немесе аз жұмыс істейді, айырмашылық - aufs және diskd қатты дискіде енгізу-шығару операцияларын орындау үшін бөлек процестермен жұмыс істейді Осы операциялар кезінде кальмар процестерінің тоқтап қалуын болдырмаңыз, сонымен қатар сіз осы тапсырмаға арналған ағындар санын көрсете аласыз. Егер сізде жақсы команда болса, мен ауфтарды ұсынамын.

100 өлшемі (мегабайт), сіз 100000 қоя аласыз, бұл 100 ГБ сіздің қол жетімділігіңізге байланысты. 16 - қалталар саны, ал 256 - ішкі қалталар саны. Екі мәнде де ойнауға болады, бұл сіздің дискілеріңіздің жылдамдығына және сізде қанша ресурстардың болуына байланысты.


cache_swap_low 90
cache_swap_high 95

Бұл опциялар объектіні ауыстыру мәндері болып табылады, бұл кальмарға сәйкес су белгісі ретінде минималды және максималды мән, мұнда бұл сандар пайызбен (%), ал өте аз кэште дәл қазір 5% осылайша секундына 300 нысан болады. , бірақ өте үлкен кэштерде біз мыңдаған МБ туралы айтар едік

Міне, мен сені қалдырамын, бұл әзірге, түсініктеме Сондай-ақ, маған https (SSL) парақтарын 3.5 немесе одан жоғары кальмарда кэштей алмай, сүзгіден өткізе алмайтынын айтқандарды ескеріңіз, мен оларды жақында сіздерге ұсынамын, осы блогты қадағалаңыз.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

11 пікір, өз пікіріңізді қалдырыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады.

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.

  1.   Инг. Хосе Альберт дижо

    Бірінші бөлімнің керемет қосымшасы!

    Сквид туралы көптеген әдебиеттер бар, бірақ олардың түсініктемелерімен және нақты пайдалану сценарийлерімен оның практикалық нұсқаларында нүктеге жету әрдайым қолда емес!

    Әдеттегідей, мен оның үшінші бөлігін асыға күтемін!

    1.    Броди Далле дижо

      Пікіріңіз үшін рақмет. Бұл дұрыс, барлық тиісті элементтер туралы қысқаша түсініктеме және ең жақсы тәжірибені орнату. Дегенмен, мен сіздің пікірлеріңізге және өз тәжірибелеріңізге әрдайым назар аударамын.

  2.   артус дижо

    Сәлеметсіз бе, менде windows жаңартулары мен антивирус мәселесі бар. Менің мекемесімде шамамен 120 дана бар. Маған осы жағдайды жақсарту туралы түсінік бере аласыз ба? Көмегіңіз үшін рахмет және мақала бойынша құттықтау.

    1.    Броди Далле дижо

      Сәлеметсіз бе, қатысқандарыңызға рахмет .. егер сізге көмектесе аламын, бірақ сіздің проблемаңыз қандай екенін түсіндірсем, жаңартуларды жүктей алмайсыз ба? Интернет-параметрлерге проксиді, браузердің прокси-опцияларына дәл осылай қойдыңыз ба? Порттарды тексердіңіз бе? Немесе осы жаңартуларды кэштегіңіз келе ме?

      1.    артус дижо

        Маған қажеті - компьютер терезелерді немесе антивирустық жаңартуларды жүктеген сайын, ол кэште бір айға жуық уақыт қалады, осылайша мен өткізу қабілетін үнемдегім келеді, өйткені әр таң сайын әр уақытта барлық компьютерлер бірдей жаңартуды жүктей бастайды және байланыс қанықтырады.

        Көмегіңе рахмет.

    2.    Марио дижо

      Squid бар сервер жұмыс істейді, өйткені олар қарапайым шифрланбаған http жүктемелері. Кэшке арналған басқа шешімдер - компанияларда қалыпты WSUS және Altiris.

      1.    артус дижо

        Рахмет Марио мен оны есте сақтаймын.

    3.    Броди Далле дижо

      жарайды дайын, түсіндім, мына сілтемені тексеріп көр. http://wiki.squid-cache.org/SquidFaq/WindowsUpdate. антивирусты кэштеу үшін жаңартулар қай жерден және қандай кеңейтіммен жүктелетінін білуіңіз керек (.exe мысалы) және оны кэштеу керек ...

  3.   артус дижо

    Көмегіңе рахмет.

  4.   Эрик дижо

    Қайырлы таң достар, сіз менің ісім бойынша мені қолдай аласыз ба? Менде дебиан 2.7-да 9 .STABLE6 кальмары болғандықтан, менде барлығы конфигурацияланған және оны 10 дана ортаға орнатқан кезде мен қалыпты почта аламын, мәселе оны 90 данаға орнатқанда туындайды, ол тек бірнеше секунд жұмыс істейді және сол жерден барлығы шығады олар интернетсіз қалады. Сіз мені қолдай аласыз ба?

  5.   Джозе Ривас дижо

    Тамаша түсініктеме, қарапайым, бірақ өте айқын және дәл. Жеке мен ең жақсы түсініктемені оқи алдым.
    Менде сұрақ, Android және apk, xapk сияқты қосымшаларды кэштеуге бола ма?
    Файлдардың шығу тегі қандай болса да, динамикалық кэшті конфигурациялаудың дұрыс әдісі қандай болар еді?
    Мен pfSense 2.4.5 қолданамын.

bool(шын)