Kako oceniti prepustnost TCP med strežniki

Kako oceniti prepustnost TCP med strežniki

Read 7 minute

Pravkar ste kupili strežnik z namenskim kanalom, ki zagotavlja hitrost 1 Gbit/s (ali več), a ste razočarani, ker 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, boste lahko izračunali 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žne poti (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 drugi strežnik prek protokola FTP. Kakšno dejansko pasovno širino lahko pričakujemo?

Najprej je treba velikost okna TCP pretvoriti 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.

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

Največja 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 pogajanje 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 opraviti obraten izračun na podlagi pasovne širine.

Formula 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 000 bitov/s * 0,030 s = 30 000 000 000 bitov / 8 = 3 750 000 bajtov.

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

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

Prvič, zahtevalo bo več pomnilnika za medpomnilnik strežnikov, ki je potreben za shranjevanje nepotrjenih podatkov v primeru, da so prisotni.

Drugič, 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 "selektivnega potrjevanja", ki je privzeto onemogočena.

Da bi rešili to težavo, lahko na obeh koncih linije namestimo pospeševalnike WAN - globalne omrežne plinske pedale. Z njimi lahko storite naslednje:

- odprejo povečano okno TCP;

- omogočajo natančno optimizacijo protokola TCP (npr. selektivno potrjevanje samo med plinskimi pedali);

- ne zahtevajo posebne konfiguracije strežnika ali dodatnega pomnilnika;

- lahko uporabljajo posebne funkcije aplikacijske plasti modela OSI (plast 7 - dostop do omrežnih storitev) za zmanjšanje krožne zamude.

Zakasnitev

Ž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). Vsaka stopalka 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.

Enačba za izračun največje dopustne 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?

Okrogla zakasnitev (ms) = velikost okna TCP (biti) / zahtevana pasovna širina (bps)

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

Kaj storiti?

Načeloma vam ni treba povečati okna TCP ali namestiti ojačevalnikov WAN. Samo uporabite večnitno povezavo in lahko uporabljate 100 % pasovne širine kanala!

DedicServerUA