Koplietotas mapes atvēršana caur VPN un gaidīšana, kamēr mapes saraksts lien, ir pazīstama pieredze, un pirmais instinkts ir vainot joslas platumu. Parasti saite ir gandrīz dīkstāvē. Protokols pavada laiku, gaidot atbildes, un katra gaidīšana maksā pilnu braucienu turp un atpakaļ, ko LAN nekad neiekasēja. Izlabojiet darba formu, un koplietošana atkal kļūs lietojama.

Attālajai darba kopijai ir nepareiza forma

SMB atver failus, lasa metadatus un apstiprina daudzos mazos apmaiņas ciklos. Versiju kontroles darba kopija pievienotā diskā pieņem vietējās failu sistēmas aizturi un lasa daudz mazu failu. Galddatora datubāze velk lappuses, kamēr lietotājs strādā. Katrs no tiem pārvērš aizturi reizinātājā, jo izmaksas aug līdz ar apmaiņas ciklu skaitu, ko veic darbība; tāpēc 40 ms tunelis pārvērš dažus simtus darbību dažās sekundēs. Kravas lielums šajā aritmētikā ir gandrīz nebūtisks.

Šifrēšanas izmaksas ir maza tā daļa; zudums ir sliktāks, jo viena atkārtota pārraide un sabrukušais pārslodzes logs maksā daudz vairāk nekā iesaistītās baitas.

Skaitiet braucienus turp un atpakaļ pirms megabaitiem

Izmēriet aizturi pirms joslas platuma iegādes. Viens ping pasaka, ko maksā katra apmaiņa.

ping -c 10 fileserver.example.net

Kopsavilkums dod mazāko, vidējo un lielāko brauciena laiku, un izkliede ir tikpat svarīga kā vidējais. Sareiziniet vidējo ar to apmaiņas ciklu skaitu, ko veic mapes saraksts, un salīdziniet ar laiku, ko patiešām novērojat. Ja viens liels fails tiek pārsūtīts ātri, bet pārlūkošana ir lēna, ierobežojums ir aizture un pieprasījumu skaits. Pievienot desmit reižu lielāku joslas platumu saitei, kas nekad nepiepildās, nemaina absolūti neko.

Pārvietojiet darbu, nevis baitas

Mainiet to, kur notiek darbs, tā vietā lai maksātu par platāku cauruli. Apkalpojiet repozitoriju, nevis pievienojiet to, un kopējiet lielapjomā ar rīku, kas sūta tikai atšķirības.

rsync -av --info=progress2 ./project/ [email protected]:/srv/share/project/

Kad repozitorijs tiek apkalpots, kā to dara hgweb vai attālais Git, klients var strādāt vietējā klonā, tāpēc tā failu sistēmas izsaukumi nekad nešķērso tuneli. rsync apstaigā abas puses un sūta mainītos blokus, novēršot lielāko daļu apmaiņas ciklu, ko maksā naiva kopija. Galddatora datubāzei jāatrodas servera puses dzinējā ar klientu, kas samazināts līdz saskarnei, vai viss klients darbojas iekšējā hostā. Katra opcija maina to, cik lielai aizturei protokols ir pakļauts, un tā ir būtība.

Iestrēgšana pie viena un tā paša lieluma ir MTU simptoms

Lielas pārraides, kas apstājas pēc apmēram tāda paša datu apjoma, kamēr ping un mazas lapas darbojas, norāda uz paketes lielumu, nevis joslas platumu.

ping -M do -s 1400 -c 3 fileserver.example.net

Veiksmīgs tests nozīmē, ka 1428 baitu IP pakete šķērso ceļu nesadrumstalota, jo ICMP un IP galvenes pievieno 28 baitus. Neveiksme ar sadrumstalošanas aizlieguma karodziņu liecina, ka tuneļa izmantojamā MTU ir mazāka, nekā serveris pieņem. Serveris, kas sūta 9000 baitu buferus uz 1500 baitu ceļu, piespiež sadrumstalošanu vai nomešanu, un ceļa MTU atklāšana var klusi neizdoties, kad ICMP tiek filtrēts. Samaziniet tuneļa MTU, iespējojiet mssfix OpenVPN, vai samaziniet servera buferus, pēc tam atkārtojiet to pašu pārraidi, lai apstiprinātu.

Izmēriet starpību, kurai ir nozīme

Veiciet to pašu darbību trīs veidos, kur politika atļauj: lokāli, caur tuneli un pa tiešu interneta ceļu. Katram pierakstiet brauciena laiku, viena liela strauta ātrumu un to, cik ilgi aizņem mapes saraksts vai programmas atvēršana. Lokālā izpildījuma salīdzinājums ar izpildījumu caur tuneli parāda, kuras izmaksas dominē. Kopija, kas beidzas lēni, liecina par ātruma vai aiztures problēmu, bet kopija, kas mirst noteiktā punktā, liecina par paketes lielumu vai stāvokli saglabājošu ierīci ceļā.

Kad velkas tikai pirmie megabaiti, skatieties autentifikāciju un metadatus; kad viss lien, skatieties kapacitāti un zudumus. Izlabojiet atbilstošo cēloni un pārstājiet gaidīt, ka WAN saite uzvedīsies kā LAN kabelis.

Saistītie raksti