Kako procijeniti TCP propusnost između poslužitelja | INTROSERV

Kako procijeniti TCP propusnost između poslužitelja

by Nataliya Oteir
Kako procijeniti TCP propusnost između poslužitelja
star 5
0
čitati 4 min.

Upravo ste kupili server s namjenskim kanalom koji jamči isporuku 1Gbit/s (ili više) i razočarani ste kada otkrijete da prijenosi datoteka nisu tako brzi kako ste očekivali. Prije nego što napišete tehničkoj podršci i potražite mrežne probleme, pokušajte procijeniti stvarnu TCP propusnost s jednog hosta na drugi.

Postoje dva najvažnija faktora za uspješan prijenos podataka putem TCP-a:

  • Veličina TCP prozora - je broj bajtova koje će jedna strana prihvatiti bez potvrde;
  • Kružno kašnjenje prijenosa-prijema (latencija) - vrijeme potrebno za slanje paketa i potvrdu njegove isporuke.
  • Poznavanje obje ove stvari omogućit će vam izračun maksimalne moguće propusnosti koja se može podijeliti između dva hosta, neovisno o propusnosti.

Formula za izračun TCP propusnosti

TCP propusnost (bits/s) = Veličina TCP prozora (bits) / Kružna latencija (s)

Razložimo to jednostavnim primjerom. Imamo gigabitnu Ethernet vezu između servera s kružnom latencijom od 30 ms. Trebamo poslati veliku datoteku s jednog servera na drugi server putem FTP-a. Koju stvarnu propusnost možemo očekivati?

Prvo trebate pretvoriti veličinu TCP prozora iz bajtova u bitove. U ovom slučaju, koristit ćemo standardnu veličinu TCP prozora Windows stroja od 64 KB = 65 536 B = 65 536 * 8 = 524 288 bitova.

Zatim trebate uzeti veličinu TCP prozora u bitovima i podijeliti je s kružnom latencijom kanala, izraženom u sekundama. Za potrebe ovih izračuna, 30 ms pretvara se u 0.030 s.

Maksimalna TCP propusnost = 524,288 bitova / 0.030 s = 17,476,266 bps = 17.4 Mbps

Iako postoji gigabitna Ethernet veza između dva servera, ne možete očekivati više od 17 Mbit/s prilikom prijenosa datoteka.

Kako možemo učiniti mrežu bržom? Odgovor je očit: povećati veličinu TCP prozora i/ili smanjiti kašnjenje signala.

Za pregovaranje veće veličine TCP prozora potrebna je individualna ručna konfiguracija svakog servera. To, zauzvrat, dovodi do sljedećeg pitanja: koja je optimalna veličina TCP prozora? Da biste to saznali, potrebno je napraviti obrnuti izračun temeljen na propusnosti.

Formula za izračun optimalne veličine TCP prozora

Veličina TCP prozora (bajti) = Veličina TCP prozora (bitovi) / 8 = Propusnost (bits/s) * Kružna latencija (s) / 8

U gornjem primjeru za gigabitnu Ethernet rutu između servera s kružnom latencijom od 30 ms, dobiva se sljedeća vrijednost:

1,000,000,000 bits/s * 0.030 s = 30,000,000 bitova / 8 = 3,750,000 bajtova.

Drugim riječima, ako konfigurirate oba servera za TCP prozor od 3,750 KB, FTP veza će potpuno popuniti propusnost i postići propusnost od 1 Gbit/s.

Trebali biste biti svjesni da povećanje veličine TCP prozora ima svoje nedostatke.

Prvo, zahtijevat će više memorije za međuspremanje servera, što je potrebno za pohranu nepotvrđenih podataka u slučaju da je prisutno.

Drugo, povećana veličina TCP prozora može rezultirati više izgubljenih paketa, što zauzvrat zahtijeva ponovno slanje cijelog prozora. To može imati negativan utjecaj na performanse. Za rješavanje ovog problema, TCP/IP stack servera može aktivirati opciju "selektivnog priznanja", koja je onemogućena po zadanim postavkama.

Kako bi se riješio problem, WAN Acceleratori - pedale za ubrzanje globalne mreže - mogu biti postavljeni na oba kraja linije. Mogu učiniti sljedeće:

  • Otvoriti prošireni TCP prozor;
  • pružiti mogućnost fine optimizacije TCP protokola (npr., selektivno priznanje samo između pedala za ubrzanje);
  • ne zahtijevaju posebnu konfiguraciju servera ili dodatnu memoriju međuspremnika;
  • mogu koristiti posebne funkcije aplikacijskog sloja OSI modela (Layer 7 - pristup mrežnim uslugama) za smanjenje kružne latencije.

Latencija

Želite smanjiti kašnjenje signala? Može li se to u načelu učiniti? Budući da ne možemo prevladati brzinu svjetlosti, ne možemo utjecati na to koliko dugo traje signalu da prijeđe određenu udaljenost. Najbolji način za optimizaciju cijelog sustava je instalirati WAN-accelerator na svakom kraju linije, koji prenosi primljene TCP-pakete lokalnom serveru, time ga "varajući" o stvarnoj stopi prijenosa podataka. Umjesto čekanja zakasnelog odgovora od udaljenog servera, lokalni server prima trenutna priznanja od pedale za ubrzanje. To nas spašava od potrebe za podešavanjem veličine TCP prozora na samim serverima. Par WAAS uređaja koristi povećanu veličinu TCP prozora i selektivna priznanja preko cijelog segmenta linije.

Uz to, WAAS učinkovito pročišćava TCP stream od suvišnih podataka, pružajući iznimno visoku razinu kompresije. Svaka pedala za ubrzanje pamti prethodno pregledane podatke. Ako se duplikat fragmenta ponovo pojavi, uklanja se i zamjenjuje sitnom oznakom od 2 bajta. Ovu sićušnu oznaku prepoznaje udaljena pedala za ubrzanje, koja umeće originalni fragment podataka na njegovo mjesto prije slanja prometa lokalnom serveru.

Dokazani rezultat optimizacije je veća propusnost između servera bez ikakve posebne TCP podešavanja lokalnih servera.

Formula za izračun maksimalno dopuštenog kašnjenja za danu propusnost

Primjer. Na stranici između dva udaljena servera, morate jamčiti 10 Gbps FTP propusnost koristeći standardnu veličinu TCP prozora (64KB). Koja je maksimalna latencija signala dopuštena?

Kružna latencija (ms) = Veličina TCP prozora (bitovi) / potrebna propusnost (bps)

524,288 bitova / 10,000,000 bps = 52.4 mikrosekunde

Što učiniti?

U osnovi, ne trebate povećavati TCP prozor ili instalirati WAN pojačivače. Samo koristite višenitnost i možete koristiti kanal na 100% njegove propusnosti!

Novi postovi

VAT

  • Other

    Other

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    %
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • Other
  • canada
  • poland
  • european-union
  • france
  • germany
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria