Blekksprutbuffer - del 2

Blekksprut er ikke bare en proxy- og cache-tjeneste, den kan gjøre mye mer: administrere ACL (tilgangslister), filtrere innhold, den kan til og med gjøre ssl-filtrering selv i gjennomsiktig modus (proxy-metode - uten å måtte konfigurere i proxy-innstillinger fra nettleserne deres, det er som mann i midten, ingen vet at det er der). Så jeg ser ofte hvordan det fulle potensialet i dette programmet blir kastet bort ved ikke å vite hvordan jeg skal konfigurere hver av delene.

Nå er det interessante som blekksprut gjør, cachen (etter min mening). Du vil fortelle meg, hvorfor cache? Årsaken er enkel, bedre administrering av bruken av hastighet og båndbredde er det viktigste. Tenk nøye, 1000 personer i firmaet ditt konsulterer hvert 5. minutt, vanlige sider, Google, Hotmail, Gmail, osv ... slik at du skal laste ned bilder, bannere, reklame, html-innhold om og om igjen, alt dette er statiske ting, nei De endres så ofte, bedre å ha dem lagret i ditt lokale nettverk, og du leverer en kopi som du anser nylig i konfigurasjonene du vurderte.

Hvordan gjøre det? Enkelt med følgende setning:

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

Som jeg alltid sier, ikke tro på alt, så jeg inviterer deg til å lese fra den offisielle kilden. Jeg anbefaler deg å lese manualen til denne setningen HER

Setning oppdater_mønster Det vil alltid være vår etikett å legge til nye parametere i hurtigbufferen.

Viktig, cachelistene dine må være sekvensielle, for når den samsvarer med den første som samsvarer med objektet, vil den ikke fortsette å lese de andre reglene dine.

Regulære uttrykk er store og små bokstaver, derfor er flv ikke det samme som FLV, men du kan unngå dette hvis du ønsker det ved å bruke alternativet -i . Da ville det se slik ut refresh_pattern -i

'Min': er tiden (minutter) der et objekt vil bli betraktet som "nylig eller nytt", og hvis det ikke har en eksplisitt etikett som "utløpt". Som standard anbefaler blekksprut at det er 0, av grunner til at noen dynamiske applikasjoner kan oppføre seg merkelig, ren bla bla bla, virkelig skal denne verdien være et tall du anser som nyttig og effektivt for elementene du vil cache, eksempel: jpg, 1440 minutter (om dagen) virker bra for meg, det er ikke som om bildene av et innlegg endres hvert 5. minutt på en side.

'Prosent' Det er prosentandelen av et objekts alder (siden siste modifikasjon) som vil bli betraktet som «nylig eller fersk». La meg forklare, kanskje gjør en konstant omlasting eller oppdatering for å se de siste endringene som ble gjort på en webside, blekksprut kunne vurdere om den allerede har, for eksempel, 50% av tiden fullført mellom minutter y max, laster ned objektet på nytt og gir deg en ny kopi.

'Maks' er grensen over eller lik 'Min' hvor lenge et objekt regnes som «nylig eller nytt», antar at et bilde av en side bare ble konsultert en gang av en bruker, det objektet har allerede nådd sin tid minutter, men ikke max, når den blir spurt igjen, vil en hurtigkopi-kopi bli levert.

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

Disse alternativene ble laget for det meste for å ignorere forhåndsopprettede atferd i språk og protokoller, for å garantere effektiv bruk av hurtigbufferen.

override-expire

Det håndhever minimumstiden for et objekt, selv om serveren sendte en kortere utløpstid (for eksempel ting som header eller Cache-Control: max-age). Hvis vi gjør dette, vil det vises en "advarsel" som sier ting som dette "VIRKLER HTTP-standarden", men det er bare advarsler som vi kan ignorere. Nå hvis tiden en server sender er lengre, vil blekksprut ta tid (utløp) til serveren

override-lastmod

Forsterker minimumstiden for et element, selv om det nylig ble modifisert.

reload-into-ims

Den korte forklaringen er at den forhindrer at når vi trykker på oppdateringsknappen eller lager en ikke-hurtigbuffer-forespørsel, vil blekksprut levere hurtigbuffer hvis den ikke har blitt "endret siden" og / eller hvis det ikke er noen "overskrifter" på siden.

ignore-reload

Ignorer brukernes handling for å trykke på knappen for å laste inn på nytt eller oppdatere siden

ignore-no-store

Ignorer enhver regel i overskrifter for ikke å cache, for eksempel videoer

ignore-private

Ignorer regler i private innholdsoverskrifter som ikke skal bufres, eksempel: facebook-innhold.

refresh-ims

Squid kontakter serveren for å sikre om objektet er det nyeste. Hvis det er, vil det levere cache

store-stale

Blekksprut vil lagre alle disse svarene, selv om de ikke har en utløpsdato, er dette veldig upraktisk, ettersom de vanligvis ikke kan brukes på nytt. Hvis du bestemmer deg for å aktivere det, må du erklære maks-foreldet = NN

max-stale=NN

Hvis du aktiverte det ovennevnte, må du erklære en maksimal levetid for det svaret eller faktoren. Squid leverer ikke objekter av denne stilen, men kan validere den med kilden

Her er en tabell over hvordan tilstanden til fersk "FRESH" fungerer i henhold til verdiene vi har diskutert:

  • FERSK hvis utløper> nå, ellers STALE
  • STALE hvis alder> maks
  • FERSK hvis lm-faktor <prosent, ellers STALE
  • FERSK hvis alder <min annet FORFALT

Her er et eksempel på konfigurasjon for et bestemt selskap med mye diskplass, godt utstyr og god båndbredde

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

Nå er hurtigbufferen ikke bare på harddisken, vi kan også cache RAM-minnet, denne verdien er for hver blekksprutprosess, så du må ta den i betraktning når du bruker viderekoblinger som blekksprutGuard

maximum_object_size_in_memory 1024 KB

Maksimal størrelse på objektet i minnet som blekksprut vil lagre i RAM. Du kan også erklære et minimum.


memory_replacement_policy heap GDSF
cache_replacement_policy heap GDSF

Som du kan se, er en policyen for erstatning av cache i RAM-minne og en annen på harddisken. Det er to retningslinjer GDSF og LFUDA. Den første søker å forbedre prosentandelen av cache-treff, med mange små objekter tilgjengelig, den andre søker det motsatte, det holder objekter i cache uavhengig av størrelse.

Spørsmålet som jeg forestiller meg at du stiller meg for øyeblikket er, hvilken bruk bruker jeg? Vel, hvis du tenker på at de gjør mange spørsmål i få omgivelser, og få nedlastinger bruker GDSF hvis de tvert imot gjør mange nedlastinger og få LFUDA-spørsmål. At hvis jeg anbefaler LFUDA når du skal gjøre, vet jeg ikke, cache i 1 TB disk, det er mer effektivt.

maximum_object_size 4 MB

Maksimal størrelse som et objekt kan ha må lagres

cache_dir aufs /media/proxy249/cache 100 16 256

Hvor hurtigbufferen vil bli lagret, er oppmerksomhet her, viktig hvis du bruker ufs, aufs eller diskd, alle 3 fungerer mer eller mindre likt, forskjellen er at aufs og diskd jobber med separate prosesser for å gjøre I / O-operasjoner på harddisken unngå at blekkspruteprosesser henger under disse operasjonene, i tillegg kan du angi antall tråder du vil ha for denne oppgaven. Jeg anbefaler aufs hvis du har et godt team.

Størrelse 100 (megabyte), kan du sette 100000 er nesten 100 GB avhenger av tilgjengeligheten din. 16 er antall mapper, og 256 er antall undermapper. Du kan spille med begge verdiene avhenger av hvor raske platene er og hvor mye ressurser du har.


cache_swap_low 90
cache_swap_high 95

Disse alternativene er erstatningsverdiene til objekter, det er minimums- og maksimumsverdien som vannmerke i henhold til blekksprut, der disse tallene er i prosent (%), og i en veldig liten cache ville 5% som dette akkurat nå være la oss si 300 objekter per sekund , men i veldig store cacher snakker vi om tusenvis av MB

Vel, der lar jeg deg være, dette foreløpig, kommenter og ta også hensyn til de som fortalte meg at de ikke kunne cache og filtrere https-sider (SSL) i blekksprut 3.5 eller høyere, jeg tar dem med deg snart, følg med på denne bloggen.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   Ing. José Albert sa

    Utmerket supplement til første del!

    Det er mye litteratur om blekksprut, men å komme til poenget med de mest praktiske alternativene med deres respektive forklaringer og mulige virkelige scenarier er ikke alltid tilgjengelig!

    Som alltid gleder jeg meg til tredje del av det!

    1.    brodydalle sa

      Takk for kommentaren. Det er riktig, en kortfattet forklaring av alle de relevante elementene, og en beste praksisoppsett. Imidlertid er jeg alltid oppmerksom på dine kommentarer og egne erfaringer.

  2.   Arthur sa

    Hei, jeg har et problem med Windows-oppdateringer og antivirus. Jeg har omtrent 120 stk på institusjonen min. Kan du gi meg en ide om hvordan jeg kan forbedre denne situasjonen. Takk for hjelpen og gratulerer med artikkelen.

    1.    brodydalle sa

      Hei, takk for at du deltok .. Vel, hvis jeg kan hjelpe deg, men forklar hva problemet ditt er, kan du ikke laste ned oppdateringene? Har du satt proxy i Internett-alternativer og det samme i proxy-alternativene i nettleseren din? Har du sjekket portene? Eller vil du cache disse oppdateringene?

      1.    Arthur sa

        Det jeg trenger er at hver gang en datamaskin laster ned en Windows- eller antivirusoppdatering, holder den seg i hurtigbufferen i omtrent en måned, på denne måten vil jeg lagre båndbredde siden hver morgen hver gang alle datamaskiner begynner å laste ned de samme oppdateringene hver og forbindelsen mettes.

        Takk for hjelpen.

    2.    Mario sa

      En server med blekksprut fungerer, siden de er enkle, ukrypterte http-nedlastinger. Andre løsninger for hurtigbuffer er WSUS og Altiris, normalt i selskaper.

      1.    Arthur sa

        Takk Mario, jeg skal huske det.

    3.    brodydalle sa

      ok klar, forstår jeg, sjekk denne lenken. http://wiki.squid-cache.org/SquidFaq/WindowsUpdate. for å cache antivirus, må du vite hvor oppdateringene lastes ned fra og under hvilken utvidelse (eksempel .exe) og cache den ...

  3.   Arthur sa

    Takk for hjelpen.

  4.   Erick sa

    God morgen venner, kan du støtte meg med saken min. Siden jeg har blekksprut 2.7 .STABLE9 på en debian 6, og jeg har alt konfigurert, og når jeg monterer det i et 10-pc-miljø, får jeg normal post, problemet ligger når jeg monterer det på 90 stk, det varer bare noen sekunder å jobbe og derfra er alle de er igjen uten internett. Kan du støtte meg?

  5.   JOSE RIVAS sa

    Utmerket forklaring, grunnleggende, men veldig tydelig og presis. Personlig den beste forklaringen jeg har vært i stand til å lese.
    Jeg har et spørsmål, er det mulig å cache Android-applikasjoner som apk og xapk?
    Og hva ville være den riktige måten å konfigurere dynamisk hurtigbuffer uansett opprinnelse til filene?
    Jeg bruker pfSense 2.4.5.