Mjög hefur verið sagt nýlega um verðmæti truflanir staður . En í mörgum tilfellum er öflugt nálgun nauðsynleg. Hvort innihaldsstjórnunarkerfi, viðskiptatengsl tól eða netverslun, leyfa þeim endanotendum að halda flóknum síðum hratt og stöðugt. Og þegar þau eru sett saman á réttan hátt, geta þeir keppt við truflanir síður fyrir hraða.

Allir umsóknir sem þurfa að lesa og skrifa gögn oft verða valdið skemmdum

Hvaða kerfi sem þú notar, samanstanda dynamic vefsíður venjulega af svipuðum þáttum. Þetta eru mynd af vefþjón, bakgrunni og forriti, skrifuð á einu eða fleiri forritunarmálum. Þessi samsetning af íhlutum gefur mikla sveigjanleika, en hver leggur eigin kostnað og eykur hleðslutíma, eitthvað sem allir nútíma vefsíður vilja forðast. Þetta á sérstaklega við um aðgang að gagnagrunni. Öll forrit sem þurfa að lesa og skrifa gögn oft verða að valda áberandi töfum.

Þetta þar sem flýtiminni og viðeigandi flýtiminniáætlun fyrir notkunartakið þitt mun hjálpa. Undirstöðuatriðið við flýtiminni er að koma í veg fyrir óþarfa tíð símtöl á milli umsóknar gagnagrunna og nota í staðinn fyrirfram mynda truflanir HTML síður sem eru mun hraðar til að gera í vafra.

Vefskoðun

Fyrsta skyndiminni sem allir vefur notendur hefðu tekið eftir er skyndiminni í vafranum sínum. Hversu oft hafa verktaki beðið þig um að taka á móti "gildi-hressa" til að sjá breytingar? Browser caches eru einföld en góð upphafspunktur til að byrja að útskýra hugbúnað hugbúnaðar. Vafra geymir framsetning á vefsíðum sem heimsóttir eru á tölvu notanda, venjulega uppfæra þær einu sinni á fundi ef breytingar eru greindar eða neyddir af vefsvæðinu.

Proxy caching

Algengt verkfæri sem eigendur eigenda og stjórnenda eiga að nota er "hvolfi umboðsmaður" sem situr á milli síðubeiðna sem gerðar eru af vafra og vefforritinu. Það grípur upp beiðnir og gefur afrit af síðum beint úr skyndiminni, þannig að hægt sé að sjá um hæfileika.

Það eru nokkrir helstu valkostir fyrir valmöguleika fyrir valmöguleika fyrir sjálfstætt uppsetningu eða sem "hugbúnað sem þjónustu". (Við erum að horfa á ský hýsingu þjónustuveitenda sem venjulega pakka allt sem þú gætir þurft í sjálfstætt vefur stafla.)

Vinsælar valkostir fyrir proxy skyndiminni eru:

  • Lakk (sjá fyrir neðan);
  • Smokkfiskur ;
  • Nginx (sameinað vefur framreiðslumaður og proxy skyndiminni).

SaaS valkostir fyrir flýtiminni liggja almennt í heimi Content Delivery Networks (CDNs) sem, í stað þess að setja skyndiminni á milli notanda og vefur stafla, bjóða notendum upp sett af efni sem er afritað sem er landfræðilega næst þeim. Það er lúmskur munur, en sá sem fyrir stórum vefsvæðum með heimsvísu áhorfendur getur gert verulegan mun.

Nota Lakk

Lakk er í boði í öllum Linux pakka stjórnendum, sem Docker mynd og margir aðrir valkostir, lesa Uppsetningarsíða verkefnisins fyrir frekari upplýsingar.

Basic Lakki stillingar

Lakkið geymir sjálfgefið stillingarskrá annað hvort í /usr/local/etc/varnish/default.vcl eða /etc/varnish/default.vcl , skrifað í VCL (Lakki Stillingar Tungumál). Þessi stillingarskrá er tekin saman í smá forrit með C túlka til að auka hraða enn meira.

Það fer eftir því hvernig þú setur upp Varnish. Stillingarskráin mun líta svona út:

backend default {.host = "127.0.0.1";.port = "8000";}

Einfaldast er þetta skilgreint sjálfgefið stuðning sem notuð er af Varnish, skilgreiningu á gestgjafi og höfn sem það ætti að hlusta og taka á móti efni á.

Backend polling

Eitt hagnýtt eiginleiki Varnish er að athuga með fyrirfram ákveðnu millibili ef bakhliðin er enn heilbrigð. Það er kallað 'Backend Polling' og er stillt með því að bæta við rannsakandi kafla í stuðningsyfirlitinu:

.probe = {.url = '/';.timeout = 34ms;.interval = 1s;.window = 10;.threshold = 8;}

Ofangreind eru sjálfgefnar stillingar sem Varnish setur og sagt að það sé að heimsækja ákveðna .url á hverju tímapunkti og að ef að minnsta kosti .þrýsti út úr .window rifnum , svarar urlinn innan tímabilsins millisekúndur. Bakið er enn talið heilbrigt. Einu sinni talin 'óhollt' er efni þjónað úr skyndiminni fyrir fyrirfram skilgreint tímabil.

Byrjun varnar

Við munum ná sérstökum breytingum á vörnarsamsetningunni undir hverjum vettvangsvalkost, því að nú skulum við skoða almenna valkosti.

Hafnir

Upphaflega þarf höfnin fyrir vefþjóninn þinn að breyta frá vanrækslu. Til dæmis í Apache Vhost stillingar skipta um höfn til 81 eða 8080.

Byrjaðu varnarmanninn með lakki stjórninni eða notaðu þjónustu umbúðir. Dætið hefur fánarvalkostir, algengasta og gagnlegur vera:

  • -f: Stilla slóðina í stillingarskránni.
  • -s: valkostir fyrir skyndiminni. Að setja þetta á RAM mun veita enn meiri hraðaaukningu.

Athugaðu allt er að vinna

Hlaupa varnishstat stjórn eða heimsækja isvarnishworking.com Til að athuga varnarþjóninn þinn er tilbúinn og að hlusta á beiðnir.

Hvað ekki að skyndiminni

Það eru ákveðnar hlutar vefsvæðis sem við viljum ekki skyndiminni, til dæmis stjórnsýsluhliðin. Við getum útilokað þá með því að búa til vcl_recv subroutine í default.vcl skráinni sem inniheldur ef yfirlýsingu sem skilgreinir hvað ekki er að skyndiminni:

sub vcl_recv {# URI of admin folderif (req.url ~ "^/url/"){return (pass);}return(lookup);}

Ef þú notar Varnish 4 eru hlutirnir örlítið mismunandi, þ.mt afturvirði. Vcl_recv virknin skilar nú ahash gildi í stað þess að fletta upp.

sub vcl_recv {...return(hash);}

Þetta er líka þar sem við setjum vefsvæði eða undirlén sem Larn ætti að hunsa með því að bæta við req.http.host ~ 'example.com' við ef yfirlýsingu.

Kex

Sjálfgefið mun Larnish ekki skyndiminni efni frá bakinu sem setur fótspor. Á sama hátt, ef viðskiptavinur sendir kex, mun það framhjá varma beint til baksins.

Cookies eru oft notaðar af vefsvæðum til að fylgjast með notendavirkni og geyma notendaviðmið. Almennt eru þessar smákökur aðeins áhugasamir fyrir viðskiptavinarhliðarkóða og hafa ekki áhuga á bakhliðinni eða vörninni. Við getum sagt Varnish að hunsa smákökur, nema á sérstökum sviðum vefsins:

if ( !( req.url ~ ^/admin/) ) {unset req.http.Cookie;}

Þetta ef yfirlýsing hunsar fótspor nema við séum í stjórnunarvettvangi vefsvæðisins, þar sem fótsporinn getur verið meira notaður (nema þú viljir virkilega trufla vefstjóra).

Aðrar undantekningar

Með sjálfgefinri uppsetningu, lætur Varnish ekki skyndiminni af völdum lóðum, GET og HEAD beiðnum.

Setja lakk til að nota

Við munum nú líta á tvær fullkomnar notkunartilfelli fyrir Lakk: Drupal og Magento. Báðir eru mjög öflugt kerfi sem gerir notendum kleift að sinna fjölmörgum flóknum verkefnum. Þetta getur leitt til gagnagrunns fyrirspurnarþungar síður og uppteknar síður verða orðin hægir. Dæmigerðar síður sem eru byggðar með þessum kerfum munu innihalda blöndu af innihaldi uppfærðar sjaldan og oft.

Drupal

Drupal hefur sjálfgefna flýtimöguleika sem framkvæma svipaðar aðgerðir til að varna, en mun ekki veita sveigjanleika eða hraðaaukningu sem krafist er af stærri eða flóknari síðum.

Í sannri Drupal hátt er það mát til að meðhöndla varnaraðlögun til að vista nokkra handvirka stillingar sem lýst er hér fyrir ofan.

Settu upp eininguna og vertu viss um að þú fylgir leiðbeiningunum um uppsetningu sem fylgir með lestarskránni í einingunni.

Gakktu úr skugga um að / etc / default / lakk skráin hafi eftirfarandi valkosti til að sýna fram á (og innspýtingin er mikilvæg):

DAEMON_OPTS="-a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,128M"

Gakktu úr skugga um að Apache og allir tengdir raunverulegur vélar hlusti á höfn 8080, ekki 80. Endurræstu báðar þjónusturnar eftir að þessar breytingar hafa verið gerðar.

Þú gætir þurft að setja 'Lykilvörn lykil' í mátasniðsíðu. Finndu út hvað lykillinn er með köttinn / etc / lakk / leyndarmálið og límdu það inn í stillingasíðuna. Veldu rétt lakk útgáfa, vista stillingarnar og þú ættir að sjá röð af grænum ticks neðst á síðunni.

Varnish einingin hefur samskipti við sjálfgefna stillingar Drupal skyndiminni, svo vertu viss um að þú hafir það virkt og stillt fyrir notkunartakið þitt.

Hlaupa varnishstat frá stjórn lína, byrja að vafra um síðuna sem nafnlaus notandi og þú ættir að sjá tölur sem breytast í stjórn framleiðsla.

Ein af þeim leiðum sem við viljum ekki skyndiminni í Drupal eru stjórnsýsluþættirnar , við getum gert þetta með vcl_recv undirferli:

sub vcl_recv {# URI of admin folderif (req.url ~ "^/admin/"){return (pass);}unset req.http.Cookie;return(lookup);}

Þú gætir viljað ekki íhuga að fletta í (notandanafn) notendasíðum, kerfisuppfærslusíðum og öðrum síðum sem myndast af mjög öflugum einingum, svo sem fána sem nota mikið af ajax til að virka. Gera þetta með því að bæta frekari req.url breytur við ef yfirlýsingu.

Magento

Sjálfgefið uppsetning á Magento skipum með innri skyndiminnikerfi sem geymir truflanir útgáfur af vefsvæðum í tiltekinni möppu. Kerfið -> Skyndiminni Stjórnunarsíðan veitir yfirlit yfir núverandi skyndiminni og gerir þér kleift að hreinsa alla eða einstaka skyndiminni. Þú getur hreinsað samanlagða CSS og JS skrár og sjálfkrafa myndarskrár á þessari síðu.

Næstu útgáfan 2 af Magento mun styðja Varnish caching sjálfgefið, en fyrir nú þurfum við að nýta þriðja aðila viðbætur, ég mæli með því að Turpentine mát . Gakktu úr skugga um að þú lesir readme skrá verkefnisins Eins og það bendir á nokkrar viðbótarstillingarþrep, getur það mistekist að hunsa síðuna þína.

The Turpentine mát er mjög stillanlegt og mun gera nauðsynlegar breytingar á vcl skrá og Larn config fyrir þig. Sumir helstu valkostir til að stilla eru:

  • Backend Host : The Larn gestgjafi, að vanrækslu 127.0.0.1
  • Backend Port : Port vörnin er í gangi, að vanalega að 80
  • URL Blacklist : Listi yfir slóðir sem aldrei skyndiminni miðað við Magento rótina. Admin og API slóðin eru sjálfkrafa innifalin.

The Turpentine mátin tengist sjálfgefna Magento skyndiminni, þannig að hreinsa skyndimyndir á skyndiminni verksins mun hreinsa viðeigandi skrautfarar.

Almennar ráðleggingar

Innskot frá því að nota Varnish með einhverjum af öflugum kerfum hér að ofan, eru hér handfylli af öðrum fjölbreyttum ábendingum sem auðvelda skyndiminni á hvaða síðu sem er.

Samsvarandi slóðir

Ef þú ert að þjóna sama efni í mismunandi samhengi, ætti það að nota sömu vefslóð. Til dæmis má ekki blanda notkun á grein.html , grein.htm og grein , þó að CMS þín geti leyft því. Þetta mun leiða til þriggja mismunandi afrita af sama efni.

Notaðu kökur sparlega

Eins og við sáum hér að framan eru smákökur erfitt að skyndiminni og eru sjaldan eins og nauðsyn krefur eins og við hugsum. Reyndu að takmarka notkun þeirra og númer til dynamic síður.

Skrá meðhöndlun

Hleðsla vefsíðna eigna getur verið einn af tímafrektum hlutum síðuþáttar og þar eru einföld ráð til að draga úr þessari byrði:

Notkun CSS Image sprites fyrir helgimyndatöku í stað margra lítilla skráa leiðir til minni netferðar.

Hýsing CSS og JavaScript bókasöfn þýðir staðbundin net umferð og meiri stjórn á aðferðum við að flýta. Þetta getur þýtt aukningu á viðhaldsverði til þess að halda þessum eignum upp til dags. Geymdu þessar eignir í stöðugt nefndum möppum svo að tilvísanir til þeirra geta einnig verið í samræmi.

Hraðspóla

Ég vona að þessi kynning til að flýta fyrir hreyfimyndum þínum með flýtiminni væri gagnlegt. Frammistaðaaukningin er þess virði að upphafstíma er stillt, tilraunir og klip. Í þessu tímabili með stuttum athyglisverðum og óþolinmæði getur allir hraðakstur sem þú getur kreist út úr uppsetningunni skiptir máli fyrir notendur þína og samkeppni.

Valin mynd, net skyndiminni mynd um Shutterstock.