Kako oceniti prepustnost TCP med strežniki

Kako oceniti prepustnost TCP med strežniki

Nataliya Oteir Read 7 minute

Pravkar ste kupili strežnik z namenskim kanalom, ki zagotavlja hitrost 1 Gbit/s (ali več), in ste razočarani, ko ste ugotovili, da prenos datotek ni tako hiter, kot ste pričakovali. Preden pišete tehnični podpori in iščete težave v omrežju, poskusite oceniti dejansko prepustnost TCP od enega gostitelja do drugega.

Za uspešen prenos podatkov prek protokola TCP sta najpomembnejša dva dejavnika:

  • Velikost okna TCP - je število bajtov, ki jih bo ena stran sprejela brez potrditve;
  • krožna zakasnitev prenosa in sprejema (latenca) - čas, ki je potreben za pošiljanje paketa in potrditev njegove dostave.
  • Če poznate obe stvari, lahko izračunate največjo možno pasovno širino, ki si jo lahko delita dva gostitelja, ne glede na pasovno širino.

Formula za izračun pasovne širine TCP

Prepustnost TCP (biti/s) = velikost okna TCP (biti) / zakasnitev krožnega potovanja (s)

Razčlenimo jo s preprostim primerom. Imamo gigabitno ethernetno povezavo med strežniki s krožno zakasnitvijo 30 ms. Veliko datoteko moramo poslati iz enega strežnika v drug strežnik prek protokola FTP. Kakšno dejansko pasovno širino lahko pričakujemo?

Najprej morate pretvoriti velikost okna TCP iz bajtov v bite. V tem primeru bomo uporabili standardno velikost okna TCP za računalnike Windows 64 KB = 65 536 B = 65 536 * 8 = 524 288 bitov.

Potem morate vzeti velikost okna TCP v bitih in jo deliti s krožno zakasnitvijo kanala, izraženo v sekundah. Za namene teh izračunov je 30 ms 0,030 s.

Maksimalna prepustnost TCP = 524 288 bitov / 0,030 s = 17 476 266 bps = 17,4 Mb/s

Čeprav je med strežnikoma gigabitna ethernetna povezava, pri prenosu datotek ne morete pričakovati več kot 17 Mbit/s.

Kako lahko omrežje naredimo hitrejše? Odgovor je očiten: povečajte velikost okna TCP in/ali zmanjšajte zakasnitev signala.

Za pogajanja o večji velikosti okna TCP je potrebna individualna ročna konfiguracija vsakega strežnika. To pa vodi do naslednjega vprašanja: kakšna je optimalna velikost okna TCP? Da bi to ugotovili, je treba narediti obratni izračun na podlagi pasovne širine.

Firmula za izračun optimalne velikosti okna TCP

Velikost okna TCP (bajti) = velikost okna TCP (biti) / 8 = pasovna širina (biti/s) * zakasnitev krožnega potovanja (s) / 8

V zgornjem primeru za gigabitno ethernetno pot med strežniki s krožno zakasnitvijo 30 ms dobimo naslednjo vrednost:

1.000.000.000 bitov/s * 0,030 s = 30.000.000 bitov / 8 = 3.750.000 bajtov.

Z drugimi besedami, če oba strežnika konfigurirate za okno TCP velikosti 3 750 KB, bo povezava FTP popolnoma zapolnila pasovno širino in dosegla pasovno širino 1 Gbit/s.

Vedeti morate, da ima povečanje velikosti okna TCP svoje slabosti.

Prvič, potrebovali boste več pomnilnika za medpomnilnik strežnikov, ki je potreben za shranjevanje nepotrjenih podatkov, če so prisotni.

Drugo, povečana velikost okna TCP lahko povzroči več izgubljenih paketov, zaradi česar je treba ponovno poslati celotno okno. To lahko negativno vpliva na zmogljivost. Za rešitev te težave lahko strežniški sklad TCP/IP aktivira možnost "selektivno potrjevanje", ki je privzeto onemogočena.

Za rešitev te težave lahko na obeh koncih linije namestite pospeševalnike WAN - globalne omrežne plinske pedale. Z njimi lahko storite naslednje:

  • odprejo povečano okno TCP;
  • zagotovijo možnost natančne optimizacije protokola TCP (npr. selektivno potrjevanje samo med plinskimi pedali);
  • ne zahtevajo posebne konfiguracije strežnika ali dodatnega pomnilnika za izravnalni pomnilnik;
  • lahko uporabljajo posebne funkcije aplikacijske plasti modela OSI (plast 7 - dostop do omrežnih storitev) za zmanjšanje krožne zamude.

Zasledovanje

Želite zmanjšati zakasnitev signala? Ali je to načeloma mogoče? Ker ne moremo preseči hitrosti svetlobe, ne moremo vplivati na to, koliko časa potrebuje signal, da prepotuje določeno razdaljo. Najboljši način za optimizacijo celotnega sistema je namestitev pospeševalnika WAN na vsakem koncu linije, ki prejete pakete TCP posreduje lokalnemu strežniku in ga tako "prevara" pri dejanski hitrosti prenosa podatkov. namesto da bi lokalni strežnik čakal na zastojni odgovor oddaljenega strežnika, prejema takojšnje potrditve s pedala za plin. Tako nam ni treba prilagajati velikosti okna TCP na samih strežnikih. Par naprav WAAS uporablja povečano velikost okna TCP in selektivne potrditve na celotnem segmentu linije.

Poleg tega WAAS učinkovito očisti tok TCP odvečnih podatkov, kar zagotavlja izjemno visoko stopnjo stiskanja (kompresije). Vsak pedal za plin si zapomni predhodno pregledane podatke. Če se podvojen fragment ponovno pojavi, se odstrani in nadomesti z majhno dvobajtno oznako. To drobno oznako prepozna oddaljeni plinski pedal, ki na njeno mesto vstavi izvirni fragment podatkov, preden pošlje promet lokalnemu strežniku.

Dokazan rezultat optimizacije je večja prepustnost med strežniki brez posebnih nastavitev TCP lokalnih strežnikov.

Formula za izračun največje dovoljene zamude za določeno prepustnost

Primer. Na lokaciji med dvema oddaljenima strežnikoma morate zagotoviti prepustnost 10 Gb/s FTP z uporabo standardne velikosti okna TCP (64KB). Kolikšna je največja dovoljena zakasnitev signala?

Zaključek krožne poti (ms) = velikost okna TCP (bitov) / zahtevana pasovna širina (bps)

524 288 bitov / 10 000 000 bps = 52,4 mikrosekunde

Kaj storiti?

V osnovi vam ni treba povečati okna TCP ali namestiti ojačevalnikov WAN. Preprosto uporabite večnitnost in lahko uporabljate 100 % pasovne širine kanala!

How useful was this post?

Click on a star to rate it!
Рейтинг: 0/5 - 0 голосов