Om 'n gedeelde gids oor die VPN oop te maak en te wag terwyl die gidslys kruip, is 'n bekende ervaring, en die eerste ingewing is om bandwydte te blameer. Gewoonlik is die skakel meestal ledig. Die protokol bring sy tyd deur op antwoorde te wag, en elke wag kos 'n volle heen-en-weer-reis wat die LAN nooit gevra het nie. Herstel die vorm van die werk, en die deling word weer bruikbaar.

Die afstandwerkende kopie het die verkeerde vorm

SMB maak lêers oop, lees metadata en bevestig in baie klein uitruilings. 'n Weergawebeheer-werkkopie op 'n gekoppelde skyf aanvaar plaaslike lêerstelsel-latensie en lees baie klein lêers. 'n Werkstafel-databasis trek bladsye soos die gebruiker werk. Elkeen van dié maak vertraging 'n vermenigvuldiger, want die koste groei met hoeveel uitruilings die bewerking doen; 'n tonnel van 40 ms maak dus 'n paar honderd bewerkings 'n paar sekondes. Vragrote is byna onbelangrik in daardie rekenkunde.

Enkripsie-oorhoofse koste is 'n klein deel daarvan; verlies is erger, want een hertransmissie plus 'n ingekrimpte oorladingvenster kos veel meer as die betrokke grepe.

Tel heen-en-weer-reise voor megabytes

Meet die vertraging voordat jy kapasiteit koop. 'n Enkele ping vertel jou wat elke uitruiling betaal.

ping -c 10 fileserver.example.net

Die opsomming gee minimum-, gemiddelde en maksimum heen-en-weer-tye, en die spreiding maak net soveel saak soos die gemiddelde. Vermenigvuldig die gemiddelde met die aantal uitruilings wat 'n gidslys doen, en vergelyk dit dan met die tyd wat jy werklik waarneem. As een groot lêer vinnig oordra terwyl blaai stadig is, is latensie en versoekte die beperking. Om tien keer die kapasiteit by 'n skakel te voeg wat nooit versadig raak nie, verander glad niks.

Skuif die werk, nie die grepe nie

Verander waar die werk gebeur in plaas daarvan om vir meer pyp te betaal. Bedien die bewaarplek eerder as om dit te monteer, en kopieer in grootmaat met 'n instrument wat net verskille stuur.

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

Om die bewaarplek te bedien, soos hgweb of 'n Git-afstand doen, laat die kliënt op 'n plaaslike kloon werk sodat sy lêerstelsel-oproepe nooit die tonnel oorsteek nie. rsync loop albei kante en stuur veranderde blokke, wat die meeste uitruilings uitskakel wat 'n naïewe kopie betaal. 'n Werkstafel-databasis hoort op 'n bedienerkant-enjin met die kliënt tot 'n frontend gereduseer, of die hele kliënt loop op 'n interne gasheer. Elke opsie verander hoeveel latensie die protokol blootgestel word, en dit is die punt.

Hangs naby dieselfde grootte is 'n MTU-simptoom

Groot oordragte wat ná omtrent dieselfde hoeveelheid data hang, terwyl pings en klein bladsye werk, wys op pakketgrootte eerder as bandwydte.

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

'n Suksesvolle toets beteken dat 'n IP-pakket van 1428 grepe die pad ongefragmenteerd kruis, aangesien ICMP- en IP-opskrifte 28 grepe byvoeg. 'n Mislukking met die do-not-fragment-vlag dui daarop dat die tonnel se bruikbare MTU kleiner is as wat die bediener aanvaar. 'n Bediener wat buffers van 9000 grepe op 'n pad van 1500 grepe stuur, dwing fragmentasie of wegvalle, en pad-MTU-ontdekking kan stil misluk wanneer ICMP gefiltreer word. Verlaag die tonnel se MTU, aktiveer mssfix op OpenVPN, of verklein die bediener se buffers, en herhaal dan dieselfde oordrag om te bevestig.

Meet die gaping wat saak maak

Voer dieselfde bewerking op drie maniere uit waar beleid dit toelaat: plaaslik, oor die tonnel en oor 'n direkte internetpad. Let by elkeen op die heen-en-weer-tyd, die tempo van een groot stroom, en hoe lank 'n gidslys of 'n program se oopmaak neem. Om die plaaslike lopie met die tonnel-lopie te vergelyk, wys watter koste oorheers. 'n Kopie wat stadig klaarmaak, dui op 'n tempo- of vertragingsprobleem, terwyl 'n kopie wat op 'n konsekwente punt sterf, op pakketgrootte of 'n staatvolle toestel in die pad dui.

Wanneer net die eerste megabytes sleep, kyk na outentisering en metadata; wanneer alles kruip, kyk na kapasiteit en verlies. Herstel die ooreenstemmende oorsaak, en hou op om te verwag dat 'n WAN-skakel soos 'n LAN-kabel optree.

Verwante artikels