Iu en la teamo diras, ke la dosierujo tra la VPN estas malrapida, kaj la unua sugesto ĉiam estas kaŝmemoro. Antaŭ ol aldoni BranchCache al la fora alira dizajno, apartigu la plendon en unu el tri formoj: ripetaj elŝutoj de neŝanĝita enhavo, alŝutoj, aŭ metadatumo-peza foliumado tra dosierujoj kun miloj da eroj. BranchCache traktas la unuan formon ĉe subtenata enhavo kaj faras nenion utilan por la aliaj du. Tio ne estas limo por ĉirkaŭiri; ĝi estas la komparo, kiun vi devus fari antaŭ ol pasigi semajnon pri deplojo.

La sama dosierujo, tri malsamaj plendoj

Filia oficejo, kie ok homoj malfermas la saman neŝanĝitan trejnan videon, estas la kazo por kiu la funkcio estis desegnita. La unua ricevo trapasas la WAN, la enhavo estas kaŝmemorigata apud la legantoj, kaj postaj ricevoj de la sama neŝanĝita dosiero estas servataj loke. La profito estas reala kaj mallarĝa: sama enhavo, neŝanĝita, pluraj legantoj.

Tekkomputilo, kiu alŝutas novan registraĵon per hejma konekto, estas la mala kazo. Ne ekzistas antaŭe kaŝmemorigita kopio de dosiero, kiu ankoraŭ ne ekzistas, do la alŝuto sekvas la saman limigitan vojon kiel ĉiam. Elŝuta kaŝmemoro ne forigas alŝuton, kaj neniu loka elekto tion ŝanĝas.

La tria formo estas tiu, kiu seniluziigas homojn, ĉar ĝi aspektas kiel elŝuta problemo. Malfermi dosierujon kun dekoj da miloj da dosieroj, ordigi ĝin kaj legi metadatumojn estas fluo de malgrandaj operacioj, ne ripeta transdono de unu granda objekto. Kaŝmemorigi la korpojn de dosieroj faras nenion por la listigo.

Distribuita kaŝmemoro: VPN-baseno ne estas filia LAN

En la distribuita reĝimo, klientaj komputiloj kunhavigas kaŝmemorigitan enhavon unu kun la alia, kaj Microsoft dokumentas tiun reĝimon kiel funkciantan ene de ununura subreto. VPN-klienta baseno ne estas subreto en tiu senco, eĉ kiam ĉiuj adresoj aspektas apudaj: samtavolula malkovro, klient-al-klienta atingeblo kaj permeso interŝanĝi kaŝmemorajn datumojn estas apartaj demandoj, kaj la kutima fora alira dizajno respondas al ĉiuj tri per ne.

Vi povas igi la basenon konduti kiel filia LAN permesante klient-al-klientan trafikon, sed tio estas sekureca decido, ne kaŝmemora. Plej multaj fora aliraj dizajnoj izolas klientojn unu de la alia ĝuste por ke unu kompromitita tekkomputilo ne povu atingi alian, kaj interŝanĝi tiun izolon kontraŭ kaŝmemora trafo estas malbona interŝanĝo, krom se la samtavoluloj jam estas fidindaj egaluloj.

Por unu migranta uzanto, la distribuita reĝimo havas neniun kun kiu kunhavigi. La kaŝmemoro ankoraŭ povas servi la ripetajn legadojn de tiu sola kliento, sed tio estas avantaĝo de klientflanka kaŝmemoro, ne avantaĝo de filia lokigo, kaj indas diri tion antaŭ ol iu atendas, ke la oficejo plirapidiĝos.

Gastigita kaŝmemoro: lokigo decidas ĉu ĝi helpas

Gastigita kaŝmemoro metas la komunan kaŝmemoron sur servilon, kio estas la sola reĝimo senchava inter subretoj kaj la sola, kiu funkcias kiam klientoj ne povas interparoli. La tuja demando estas, kie tiu servilo staras. Gastigita kaŝmemoro atingata tra la sama limigita ligilo kiel la origino movis la bitokojn, ne la problemon.

Metu ĝin proksime al la legantoj, donu al ĝi posedanton, kaj grandigu ĝian diskon por la labora aro anstataŭ por la tuta dosierujo. La superrigardo de BranchCache de Microsoft priskribas ambaŭ reĝimojn kaj la klientan konduton, inkluzive la parton, kiun homoj forgesas: klientoj ankoraŭ kontakas la originon por rajtigo kaj enhava informo antaŭ ol uzi kaŝmemorajn datumojn.

Deplojo estas tri roloj planitaj kune, ne unu markobutono. La origina servilo publikigas haŝojn por la enhavo, la gastigita kaŝmemoro estas ŝaltita kaj malkovrebla, kaj la klientoj estas agorditaj por uzi ĝin. Ĉe la servila flanko tio estas rekonebla en PowerShell:

Enable-BCHostedServer -RegisterSCP
Get-BCStatus | Select-Object BranchCacheIsEnabled, ClientMode, HostedCacheServerList

Ĉe la kliento, aŭ direktu ĝin al nomitaj serviloj aŭ lasu ĝin malkovri ilin per la servo-konekta punkto; poste konfirmu la reĝimon, kiun ĝi efektive elektis, anstataŭ supozi, ke la politiko aplikiĝis:

Enable-BCHostedClient -ServerNames cache1.corp.example -UseSCP
Get-BCStatus | Select-Object BranchCacheIsEnabled, ClientMode

Kio ankoraŭ atingas la originon

Kaŝmemorado ne forigas rajtigon. Kliento sen permeso legi dosieron ne akiras aliron ĉar iu alia kaŝmemorigis ĝin, kaj la origino ankoraŭ respondas la rajtigan demandon kaj provizas la enhavan informon, kiu ebligas la kaŝmemoran serĉon. Se la origino ne atingeblas, la kaŝmemorigita kopio sola ne fariĝas eksterreta dosierujo.

Enhavaj ŝanĝoj ankaŭ kviete rompas la supozon. Dosiero, kiu estas resavebla, rekodita aŭ tuŝita de sekurkopia produkto, eble jam ne kongruas kun la kaŝmemorigita haŝo, kaj la sekva legado reiras al la origino. Tio estas ĝusta konduto, kaj tial kaŝmemoro, kies labora aro ŝanĝiĝas ĉiuhore, donas malmulte.

Forigo estas la tria limo. La kaŝmemoro estas finia, do granda labora aro elpuŝas pli malnovan enhavon, kaj la profito dependas de tio, ke relegadoj okazu antaŭ la forigo, ne poste. Grandigi la kaŝmemoron por la tuta dosierujo estas la kutima maniero seniluziiĝi pri teknike ĝusta deplojo.

Akceptu ĝin per du ricevoj kaj unu alŝuto

Testu la ĝustajn tri fluojn kaj skribu, kion ĉiu montras. Unua ricevo de reprezenta dosiero de kliento, mezurita ĉe la origina ligilo kaj ankaŭ ĉe la horloĝo de la uzanto. Dua ricevo de la sama neŝanĝita dosiero de dua kliento en la sama lokiga grupo. Unu alŝuto de nova dosiero, kiu devus montri neniun plibonigon kaj konfirmas, ke la kaŝmemoro ne ricevas krediton por io, kion ĝi neniam faris.

Se la dua ricevo ankoraŭ trapasas la originan ligilon por la plej granda parto de la bitokoj, la kaŝmemoro ne estas uzata, kaj la kaŭzo kutime estas kliento en malĝusta reĝimo, mankanta haŝa publikigo ĉe la origino, aŭ gastigita kaŝmemoro sur la malĝusta flanko de la limigita ligilo. Tiuj estas tri malsamaj riparoj, kaj nur unu el ili temas pri reta lokigo.

Poste esprimu la konkludon en la sama formo kiel la origina plendo: ripetajn elŝutojn de neŝanĝita enhavo de ĉi tiu origino al ĉi tiuj legantoj servas ĉi tiu kaŝmemoro. Ĉio alia pri la dosierujo restas netuŝita, inkluzive alŝutojn, dosierujan listigon kaj la eksterretan rakonton, kiu ankoraŭ bezonas sian propran respondon.

Rilataj artikoloj