Kalmāru kešatmiņa - 2. daļa

Kalmārs ir ne tikai starpniekservera un kešatmiņas pakalpojums, tas var darīt daudz vairāk: pārvaldīt acl (piekļuves sarakstus), filtrēt saturu, tas pat var veikt ssl filtrēšanu pat caurspīdīgā režīmā (starpniekservera metode - bez konfigurēšanas starpniekservera iestatījumos no viņu pārlūkiem tas ir kā cilvēks pa vidu, neviens nezina, ka tas tur ir). Tāpēc es parasti redzu, kā tiek izniekots viss šīs lietojumprogrammas potenciāls, nezinot, kā konfigurēt katru no tā daļām.

Tagad interesanti, ko dara kalmāri, ir kešatmiņa (manuprāt). Jūs man pateiksit, kāpēc kešatmiņa? Iemesls ir vienkāršs, galvenais ir labāk pārvaldīt ātruma un joslas platuma izmantošanu. Padomājiet uzmanīgi, 1000 cilvēki jūsu uzņēmumā ik pēc 5 minūtēm konsultējas, kopējās lapas, Google, Hotmail, Gmail utt., Lai jūs atkal un atkal lejupielādētu attēlus, reklāmkarogus, reklāmas, HTML saturu, visas šīs ir statiskas lietas, nē tie mainās tik bieži, labāk, lai tie tiktu saglabāti jūsu lokālajā tīklā, un jūs piegādājat kopiju, kuru uzskatāt par neseno jūsu izvēlētajās konfigurācijās.

Kā to izdarīt? Vienkārši ar šādu teikumu:

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

Kā es vienmēr saku, neticiet visam, tāpēc es aicinu jūs lasīt no oficiālā avota. Iesaku izlasīt šī teikuma rokasgrāmatu ŠEIT

Teikums atsvaidzināšana_pattern Jaunu parametru pievienošana kešatmiņā vienmēr būs mūsu etiķete.

Svarīgi, ka jūsu kešatmiņas sarakstiem ir jābūt secīgiem, jo, tiklīdz tas atbilst pirmajam, kas atbilst objektam, tas neturpinās lasīt pārējos jūsu noteikumus

Regulārās izteiksmes ir reģistrjutīgas, tāpēc flv nav tas pats, kas FLV, taču, ja vēlaties, varat to izvairīties, izmantojot opciju -i . Tad tas izskatītos šādi Refresh_Pattern -i

"Min": ir laiks (minūtes), kurā objekts tiks uzskatīts par "nesenu vai svaigu" un ja tam nav skaidras etiķetes "beidzies". Pēc noklusējuma kalmāri iesaka būt 0, tāpēc, ka dažas dinamiskās lietojumprogrammas var rīkoties dīvaini, tīri bla bla bla bla, tiešām šai vērtībai vajadzētu būt skaitlim, kuru jūs uzskatāt par noderīgu un efektīvu elementiem, kurus vēlaties saglabāt kešatmiņā, piemērs: JPG, 1440 minūtes (dienā) man šķiet lieliski, nav tā, ja ziņas attēli lapā mainītos ik pēc 5 minūtēm.

'Procenti' Tā ir objekta vecuma procentuālā daļa (no pēdējās modifikācijas), kas tiks uzskatīta par “nesenu vai svaigu”. Ļaujiet man paskaidrot, varbūt veicot pastāvīgu pārlādēšanu vai atsvaidzināšanu, lai redzētu pēdējās izmaiņas, kas tika veiktas tīmekļa lapā, kalmārs varētu apsvērt, vai tam jau ir, teiksim, 50% no laika, kas pabeigts starp min y maks, atkārtoti lejupielādējiet šo objektu no interneta un dodiet jums jaunu kopiju.

"Maks" ir robeža virs vai vienāda ar "Min" cik ilgi objekts tiek uzskatīts par “nesenu vai svaigu”, pieņemsim, ka lietotājs kādas lapas attēlu apskatīja tikai vienu reizi, un šis objekts jau ir sasniedzis savu laiku min, bet ne maks, tad, kad tas tiks atkārtoti uzdots, tiks piegādāta kešatmiņas kopija.

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

Šīs iespējas galvenokārt tika veiktas, lai ignorētu iepriekš noteikto uzvedību valodās un protokolos, lai garantētu kešatmiņas efektīvu izmantošanu.

override-expire

Tas nosaka minimālo objekta laiku, pat ja serveris nosūtīja īsāku derīguma termiņu (piemēram, galvenes vai Cache-Control: max-age). Ja mēs to izdarīsim, parādīsies "brīdinājums", kurā teikts, piemēram, "VIOLATES HTTP standarts", bet tie ir tikai brīdinājumi, kurus mēs varam ignorēt. Tagad, ja servera nosūtītais laiks ir garāks, kalmāriem būs nepieciešams servera laiks (derīguma termiņš)

override-lastmod

Pastiprina vienuma minimālo laiku, pat ja šis vienums nesen tika modificēts.

reload-into-ims

Īss skaidrojums ir tāds, ka tas novērš to, ka, nospiežot atsvaidzināšanas pogu vai veicot pieprasījumu bez kešatmiņas, kalmāri piegādās kešatmiņu, ja tā nav "modificēta kopš" un / vai ja lapā nav "galvenes".

ignore-reload

Ignorējiet lietotāju darbību, lai nospiestu pogu pārlādēt vai atsvaidzināt

ignore-no-store

Ignorējiet nevienu virsrakstu noteikumu, lai kešatmiņa netiktu saglabāta, piemēram, videoklipus

ignore-private

Neņemiet vērā noteikumus privāta satura galvenēs, kurus nevajadzētu saglabāt kešatmiņā, piemēram: facebook saturs.

refresh-ims

Kalmārs sazinās ar serveri, lai pārliecinātos, vai objekts ir jaunākais. Ja tas ir, tas piegādās kešatmiņu

store-stale

Kalmārs saglabās visas šīs atbildes, pat ja tām nav derīguma termiņa, tas ir ļoti nepraktiski, jo tos parasti nevar atkārtoti izmantot. Ja jūs nolemjat to iespējot, jums jāpaziņo max-stale = NN

max-stale=NN

Ja esat iespējojis iepriekš minēto, jums jādeklarē šīs atbildes vai faktora maksimālais kalpošanas laiks. Kalmārs nepiegādā šāda stila objektus, bet var to apstiprināt ar avotu

Šeit ir tabula par to, kā svaigā "SVAIGA" stāvoklis darbojas saskaņā ar mūsu apspriestajām vērtībām:

  • Svaigs, ja derīguma termiņš beigsies> tagad, citādi STALE
  • STALE, ja vecums> maks
  • SVAIGS, ja lm koeficients <procenti, citādi STALE
  • SVAIGS, ja vecums <min cits STALE

Šeit ir konkrēta uzņēmuma konfigurācijas piemērs ar lielu diska vietu, labu aprīkojumu un labu joslas platumu

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

Tagad kešatmiņa atrodas ne tikai cietajā diskā, bet arī kešatmiņā var saglabāt atmiņu, šī vērtība attiecas uz katru kalmāru procesu, tāpēc jums tas jāņem vērā, kad izmantojat tādus novirzītājus kā kalmārsGuard

maximum_object_size_in_memory 1024 KB

Maksimālais atmiņā esošā objekta lielums, ko kalmāri saglabās RAM. Varat arī deklarēt minimumu.


memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF

Kā redzat, viena ir kešatmiņas nomaiņas politika RAM atmiņā un otra - cietajā diskā. Ir 2 politikas GDSF un LFUDA. Pirmais cenšas uzlabot kešatmiņas trāpījumu procentuālo daudzumu, turot rokā daudz mazu priekšmetu, otrais meklē pretējo, tas objektus saglabā kešatmiņā neatkarīgi no to lieluma.

Jautājums, kuru es iedomājos, ka jūs man šobrīd uzdodat, ir tāds, ko es izmantoju? ​​Nu, ja jūs uzskatāt, ka viņi savā vidē veic daudz vaicājumu un maz lejupielāžu izmanto GDSF, ja gluži pretēji, viņi veic daudz lejupielāžu un maz LFUDA vaicājumu. Ja es iesaku LFUDA, kad jūs to darāt, es nezinu, kešatmiņu 1 TB diska, tas ir efektīvāk.

maximum_object_size 4 MB

Maksimālais objekta lielums, kas var būt jāuzglabā

cache_dir aufs /media/proxy249/cache 100 16 256

Kur tiks saglabāta kešatmiņa, uzmanība šeit ir svarīga, ja izmantojat ufs, aufs vai diskd, visi 3 darbojas vairāk vai mazāk vienādi, atšķirība ir tāda, ka aufs un diskd darbojas ar atsevišķiem procesiem, lai I / O darbības veiktu cietajā diskā un izvairieties no tā, ka kalmāru procesi karājas šo darbību laikā, turklāt diskd varat norādīt pavedienu skaitu, kas jums būs šim uzdevumam. Es iesaku aufs, ja jums ir laba komanda.

100 lielums (megabaiti), jūs varat ievietot 100000, ir gandrīz 100 GB atkarīgs no jūsu pieejamības. 16 ir mapju skaits un 256 ir apakšmapju skaits. Jūs varat spēlēt ar abām vērtībām atkarībā no tā, cik ātri ir jūsu diski un cik daudz resursu jums ir.


cache_swap_low 90
cache_swap_high 95

Šīs opcijas ir objekta aizstāšanas vērtības, tā ir minimālā un maksimālā vērtība kā ūdenszīme atbilstoši kalmāram, kur šie skaitļi ir izteikti procentos (%), un ļoti mazā kešatmiņā 5% šādi šobrīd būtu, teiksim, 300 objekti sekundē , bet ļoti lielās kešatmiņās mēs runātu par tūkstošiem MB

Nu, tur es tevi atstāju, pagaidām šo, komentē un ņemiet vērā arī tos, kas man teica, ka viņi nevar saglabāt kešatmiņu un filtrēt https lapas (SSL) kalmāros 3.5 vai jaunākus, es drīz tos atvedīšu pie jums, sekojiet līdzi šim emuāram.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Ing. Hosē Alberts teica

    Lielisks papildinājums pirmajai daļai!

    Ir daudz literatūras par Squid, taču ne vienmēr ir tuvu praktiskākajām iespējām ar to attiecīgajiem paskaidrojumiem un iespējamiem reālās lietošanas scenārijiem!

    Kā vienmēr, es ar nepacietību gaidu tās trešo daļu!

    1.    Brodijs Dalle teica

      Paldies par komentāru. Tas ir pareizi, visu attiecīgo elementu īss skaidrojums un labākās prakses iestatīšana. Tomēr es vienmēr esmu uzmanīgs pret jūsu komentāriem un pašu pieredzi.

  2.   artuss teica

    Sveiki, man ir problēma ar Windows atjauninājumiem un antivīrusu. Manā iestādē ir aptuveni 120 datori. Vai jūs varētu man pateikt, kā uzlabot šo situāciju. Paldies par jūsu palīdzību un apsveicam ar rakstu.

    1.    Brodijs Dalle teica

      Sveiki, paldies par piedalīšanos .. labi, ja es varu jums palīdzēt, bet labi izskaidrojiet, kāda ir jūsu problēma, jūs nevarat lejupielādēt atjauninājumus? Vai ievietojāt starpniekserveri interneta opcijās un to pašu pārlūkprogrammas starpniekservera opcijās? Vai pārbaudījāt porti? Vai arī vēlaties saglabāt kešatmiņā šos atjauninājumus?

      1.    artuss teica

        Man ir nepieciešams, ka katru reizi, kad dators lejupielādē logu vai antivīrusu atjauninājumu, tas aptuveni vienu mēnesi paliek kešatmiņā, tādā veidā es vēlētos ietaupīt joslas platumu, jo katru rītu katru reizi visi datori sāk lejupielādēt tos pašus atjauninājumus, un savienojums piesātinās.

        Paldies par jūsu palīdzību.

    2.    Mario teica

      Serveris ar kalmāru darbojas, jo tie ir vienkārši nešifrēti http lejupielādes. Citi kešatmiņas risinājumi ir WSUS un Altiris, kas parasti ir uzņēmumos.

      1.    artuss teica

        Paldies Mario, es to paturēšu prātā.

    3.    Brodijs Dalle teica

      labi gatavs, es saprotu, pārbaudiet šo saiti. http://wiki.squid-cache.org/SquidFaq/WindowsUpdate. Lai kešatmiņā saglabātu antivīrusu, jums jāzina, no kurienes tiek lejupielādēti atjauninājumi un ar kādu paplašinājumu (piemēram, .exe), kā arī kešatmiņā ...

  3.   artuss teica

    Paldies par jūsu palīdzību.

  4.   Erick teica

    Labrīt, draugi, vai jūs varētu mani atbalstīt ar manu lietu? Tā kā man ir kalmārs 2.7 .STABLE9 uz debian 6, un man viss ir konfigurēts, un, uzstādot to 10 pc vidē, es saņemu normālu pastu, problēma ir tad, kad to uzmontēju uz 90 pc, tas ilgst tikai dažas sekundes, un no turienes visi ir viņi paliek bez interneta. Vai jūs varētu mani atbalstīt?

  5.   HOSE RIVAS teica

    Lielisks skaidrojums, vienkāršs, bet ļoti skaidrs un precīzs. Personīgi labākais skaidrojums, ko esmu spējis izlasīt.
    Man ir jautājums, vai ir iespējams saglabāt kešatmiņā tādas Android lietojumprogrammas kā apk un xapk?
    Kāds būtu pareizais veids, kā konfigurēt dinamisko kešatmiņu neatkarīgi no failu izcelsmes?
    Es izmantoju pfSense 2.4.5.