Si të përdorni NTTTCP në Windows: Teste, komanda dhe rregullime

Përditësimi i fundit: 08/10/2025
Author: Isaac
  • NTTTCP mat xhiros aktuale të rrjetit në Dritaret y Linux, duke kontrolluar fijet, CPU-në dhe kohëzgjatjen.
  • Rregulloni parametrat kryesorë (-t, -m, -p, -rb) dhe kujdesuni për portet, firewall-in dhe MTU-në për rezultate të besueshme.
  • Interpretoni metrikat dhe ritransmetimet për të zbuluar humbjet, bllokimet e CPU-së ose problemet e NIC-së.
  • Në AWS/Azure, rreshton llojin e instancës dhe Shoferët; përdor teste XML dhe UDP/TCP për të validuar shtegun.

Testimi i rrjetit me NTTTCP në Windows

Nëse keni nevojë të matni performancën reale të rrjetit tuaj në Windows (dhe gjithashtu në Linux) pa ruajtje ose kushtet e CPU-së që juNTTTCP është një nga programet më të besueshme për testimin e gjerësisë së brezit dhe latencës praktike. Ky mjet i Microsoft-it përqendron ngarkesën në shtresën e rrjetit dhe ju ndihmon të zbuloni pengesat, problemet e konfigurimit dhe kufizimet e lidhjeve fizike.

Në këtë artikull kemi mbledhur dhe riorganizuar në një udhëzues të vetëm të gjitha gjërat thelbësore për përdorimin e NTTTCP.: kërkesat, instalimi në Windows dhe Linux, komandat çelësi, parametrat e rekomanduar të testimit (siç është vendosja e një kohëzgjatjeje të përbashkët me -t), ekzekutimi në makina virtuale dhe në Amazon EC2, akordimi i dritares TCP, rezultatet e leximit (MB/s, Mbps, cikle/bajt, DPC, ndërprerje) dhe si të interpretohen ritransmetimet dhe gabimet. Gjithashtu do të shihni kur ka kuptim të përdorni iperf ose mjete të tjera si ctsTraffic.

Çfarë është NTTTCP dhe pse përdoret?

Mjeti i Testimit të Rrjetit NTTTCP

NTTTCP (NT Test TCP) është një program falas nga Microsoft i projektuar për të matur performancën e rrjetit., si në makinat fizike ashtu edhe në ato virtuale, me një fokus të drejtpërdrejtë në grumbullin TCP/UDP. Avantazhi i tij është se minimizon ndikimin e nënsistemeve të tjera (disqe, shërbime back-end, etj.) në mënyrë që testi të pasqyrojë sjelljen aktuale të lidhjes.

Është i disponueshëm për Windows, dhe ekziston një implementim i pajtueshëm për Linux (ntttcp-for-linux), kështu që mund të kryeni teste homogjene në të ndryshme sisteme operativeËshtë veçanërisht i dobishëm në mjediset cloud si Azure ose AWS, ku konfigurimi i instancave, radhëve të rrjetit dhe drajverëve ka një ndikim të rëndësishëm.

NTTTCP ju lejon të kontrolloni numrin e fijeve, hartëzimin e CPU-së, portet dhe kohëmatësit e ndryshëm., përveç aktivizimit të mënyrave specifike për testime të përziera midis Windows dhe Linux. Kjo ju lejon të simuloni ngarkesa realiste, të mbushni radhë të shumta të NIC-ve dhe të vëzhgoni ndikimin në ndërprerje, DPC, cikle/bajt dhe shfrytëzim të CPU-së.

Kërkesat dhe shembulli i mjedisit

Parakushtet për NTTTCP

Para së gjithash, sigurohuni që keni dy kompjuterë ose makina virtuale me lidhje midis tyre. (rrugë, grupe sigurie/rrjeti, firewall) dhe privilegje për të instaluar/ekzekutuar mjete. Është një ide e mirë të keni leje administratori në Windows dhe sudo në Linux.

Shembull i parametrave të përdorur në të gjithë tekstin (mund t'i përshtatni ato):

Parametri trimëri
IP-ja e marrësit 10.0.0.5
Bërthamat e CPU-së për VM 2

Në rrjetet 1GbE, një shpejtësi transferimi e qëndrueshme rreth 112MB/s zakonisht tregon se jeni afër maksimumit teorik., me kusht që pirgu TCP të jetë i akorduar mirë dhe të mos ketë humbje. Në lidhjet 10 GbE ose më të larta, do të jetë thelbësore të kontrolloni dritaren TCP dhe, në disa raste, të aktivizoni vazhdimisht kornizat jumbo.

Instalimi dhe përgatitja në Windows dhe Linux

Instalimi i NTTTCP në sisteme të ndryshme

DritaretShkarkoni versionin më të fundit të NTTTCP nga depoja zyrtare e Microsoft (GitHub), çkompresoni paketën dhe hapni një konsolë me privilegje administratori. Pastaj, ndryshoni në direktorinë që korrespondon me arkitekturën e sistemit tuaj (për shembull, x64) për të ekzekutuar programin.

LinuxPër të përdorur ntttcp-for-linux, së pari instaloni varësitë dhe kompiloni atë. Në Ubuntu, thjesht duhet të të ndërtuara-thelbësore y git; në SUSE, me git-core, gcc y bërëPastaj klonojeni dhe kompilojeni projektin.

Komandat e përgatitjes në Ubuntu (rregullojini ato nëse shpërndarja juaj ndryshon):

Funksionon në VM Linux dhe kontrolloni që të mos ketë gabime:
sudo apt-get update && sudo apt-get -y install build-essential git

Komandat e përgatitjes në SUSE (instalon paketa dhe zgjidh varësitë nëse ato shfaqen):
sudo zypper in -y git-core gcc make

Klonimi dhe kompilimi i ntttcp-for-linux (nga çdo shpërndarje e përputhshme):
git clone https://github.com/Microsoft/ntttcp-for-linux && cd ntttcp-for-linux/src && sudo make && sudo make install

Si të ekzekutoni teste referimi me NTTTCP në Windows

Rekomandimi i zakonshëm është të caktoni një kohëzgjatje prej 300 sekondash (-t 300) si në transmetues ashtu edhe në marrës. për të stabilizuar rendimentin dhe për të monitoruar metrikat e CPU-së dhe ndërprerjes gjatë një periudhe të konsiderueshme kohore. Të dyja palët duhet të përdorin të njëjtën vlerë -t.

  Si ta çaktivizoni lehtësisht sinkronizimin në cloud në Windows 11

Në marrës (Windows), ekzekutoni duke zëvendësuar numrin e bërthamave dhe IP-në e destinacionit me tuajën:
ntttcp -r -m [num_de_nucleos x 2],*,10.0.0.5 -t 300

Shembull marrësi me 2 bërthama (4 tela) duke përdorur IP-në nga shembulli:
ntttcp -r -m 4,*,10.0.0.5 -t 300

Në transmetuesin (Windows), komanda është analoge por duke ndryshuar -r në -s për të treguar se dërgon:
ntttcp -s -m [num_de_nucleos x 2],*,10.0.0.5 -t 300

Shembull i një transmetuesi me 4 tela duke treguar drejt marrësit 10.0.0.5:
ntttcp -s -m 4,*,10.0.0.5 -t 300

Çfarë duhet të keni parasysh gjatë daljes: Përçueshmëria e fijeve, totali MB/s, madhësia mesatare e kornizës, bufferët/s, ciklet/bajt, DPC, ndërprerjet, paketat e dërguara/të marra, ritransmetimet, gabimet dhe %CPU. Këto fusha ju ndihmojnë të shihni nëse gjerësia e brezit është e kufizuar nga stiva TCP, NIC ose CPU.

Si të ekzekutoni NTTTCP në Linux

Në Linux, sintaksa është praktikisht identike.Mbani mend se nëse nuk specifikoni -t, kohëzgjatja e parazgjedhur është zakonisht 60 sekonda, gjë që mund të mos jetë e mjaftueshme për një matje të qëndrueshme.

Marrës (Linux) me 4 fije dhe kohëzgjatje 5 minuta:
ntttcp -r -m 4,*,10.0.0.5 -t 300

Transmetues (Linux) duke synuar të njëjtin marrës dhe të njëjtën kohëzgjatje:
ntttcp -s -m 4,*,10.0.0.5 -t 300

Të dhënat tipike të daljes në Linux përmbledhin lidhjet e krijuara, kohëzgjatjen, bajtet totale, rendimentin (Mbps), ritransmetimet (segmentet e ritransferimit) dhe përdorimin e CPU-së.Për më tepër, do të shihni tregues si ciklet/bajt ose përqindja e përdorimit të CPU-së, të cilët janë të dobishëm për të kuptuar efikasitetin e pirgut.

Testime të përziera midis Windows dhe Linux

Për të testuar midis Windows dhe Linux, aktivizoni modalitetin pa sinkronizim. Për të shmangur problemet e brendshme të lidhjes së duarve: në Windows shtoni -ns dhe në Linux shton -NKjo thjeshton koordinimin midis pikave fundore dhe parandalon bllokimet për shkak të ndryshimeve në zbatim.

Cilësimet përkatëse të rrjetit: Madhësia e dritares TCP/IP

Në lidhjet 1GbE me vonesë të ulët, dritarja TCP e parazgjedhur (~64KB me SO_RCVBUF në NTttcp) zakonisht ofron performancë të mirë.Kjo shmang nevojën për të modifikuar parametrat e pirgut për raste të thjeshta të LAN-it.

Në rrjetet me vonesë të lartë ose në 10GbE e lart, dritarja e parazgjedhur mund të mos funksionojë., duke zvogëluar rendimentin efektiv. Këtu, këshillohet të rregulloni madhësinë e dritares TCP për të mbështetur një produkt me vonesë më të lartë të brezit të gjerë x bandwidth.

NTTTCP ju lejon të fiksoni statikisht dritaren me -rb, e cila çaktivizon akordimin automatik të pirgut. Përdoreni këtë vetëm nëse i kuptoni plotësisht pasojat, sepse vendosja e një dritareje të madhe në skenarë të papërshtatshëm mund të ulë performancën.

Si një udhëzues i përgjithshëm, filloni me cilësimet fillestare dhe zgjerojeni vetëm nëse rasti juaj e kërkon. (latencë e lartë, WAN, shumë-kërcime). Plotësoni këto teste me udhëzuesit e akordimit të rrjetit të sistemit operativ për rregullime të vazhdueshme.

NTTTCP në instancat e Amazon EC2 (Windows)

Nëse operoni në AWS, mund të përdorni NTTTCP për të zgjedhur llojet, madhësitë dhe konfigurimet optimale të instancave.Testet do t'ju ndihmojnë të krahasoni performancën aktuale me performancën e publikuar të AWS për secilën familje EC2.

  Metodat për të ndryshuar gjuhën e shfaqjes në shfletuesin Chrome

Parakushtet e rekomanduara për EC2 (Windows):

  • Nis dy instanca të Windows për testimin e rrjetit.
  • Verifikoni që ato mbështesin Rrjetëzimin e Përmirësuar (drejtues të përditësuar dhe lloj instance i mbështetur).
  • Rregulloni MTU-në nëse nuk janë në të njëjtin Grup Vendosjeje ose nuk përdorin korniza jumbo., duke ruajtur qëndrueshmërinë nga fillimi në fund.
  • Kontrolloni lidhshmërinë (RDP, ping nëse është e aplikueshme, rrugët dhe siguria).

Instalimi në të dyja rastetShkarkoni versionin më të fundit të NTttcp nga Microsoft, çkompresoni atë në një dosje dhe hapeni atë. VKM si Administrator. Futni direktorinë që korrespondon me arkitekturën e instancës suaj përpara se ta ekzekutoni.

Portet dhe siguriaSi parazgjedhje, NTTTCP përdor portin 5001 për TCP dhe UDP, megjithëse mund ta ndryshoni atë me -pAi siguron që Grupet e Sigurisë dhe Firewall i Windows lejojnë trafikun kërkohen dhe lidhje me ntttcp.exe (hyrëse dhe dalëse).

Testi i Performancës TCP në EC2 (Marrës): inicializon dëgjuesin nga porta e zgjedhur. Shembull me dy fije në portet 80–81, të caktuara për CPU-të 0 dhe 1:
ntttcp -r -p 80 -a 6 -t 60 -cd 5 -wu 5 -v -xml c:\bench.xml -m 1,0,192.168.1.4 1,1,192.168.1.4

Kuptimi i parametrave të mësipërm (marrës):

  • -r: modaliteti i pritjes.
  • -f 80: porta bazë e fijes së parë (e rritur me fije shtesë).
  • dhe 6Hyrje/Dalje asinkrone me 6 bufera marrjeje që mbivendosen për fije.
  • -t 60: kohëzgjatja e provës në sekonda.
  • -cd 5: 5 sekonda kohë ftohjeje për të stabilizuar fundin e testit.
  • -wu 5: Ngrohje 5 sekondash për të stabilizuar fillimin.
  • -v: rezultat i detajuar.
  • -xml c:\bench.xml: ruan rezultatet në XML në shtegun e specifikuar (si parazgjedhje xml.txt).
  • -mHarta e sesionit (fijet, ID e CPU-së, IP-ja e marrësit), ndarja e sesioneve me hapësira.

Testi i Performancës TCP në EC2 (Dërgues)Përdorni të njëjtat parametra, duke kaluar në modalitetin e dërgimit dhe duke synuar IP-në e marrësit në të dy komandat:
ntttcp -s -p 80 -a -t 60 -cd 5 -wu 5 -m 1,0,192.168.1.4 1,1,192.168.1.4

Kuptimi i parametrave specifikë (emetuesi):

  • -s: mënyra e transportit.
  • -f 80: porta bazë për fije (rritje për fije).
  • -a: mbivendosen buffer-at e dërgimit për fije (parazgjedhja 2, specifikojeni nëse dëshironi një vlerë tjetër).
  • -t, -cd, -wu: kohëzgjatja, koha e ftohjes dhe ngrohja, njësoj si te marrësi.
  • -mHarta e fijeve, IP-ja e CPU-së dhe marrësit, identike me anën e serverit.

Prodhimi dhe metrikatNë marrës mund të ruani një XML me një ndarje të fijeve (kohë reale, KB/s dhe MB/s, Mbps, bajt për përfundim, gjerësi totale e brezit, buffer/s, ndërprerje për sekondë, DPC/s, cikle/bajt, paketa të dërguara/të marra, ritransmetime, gabime dhe %CPU). Në një test shembull me 2 fije, totali mund të jetë në rangun e disa Gbps (p.sh., ~9 Gbps) në instanca të përshtatshme dhe rrjet të akorduar mirë.

Testi i Performancës UDP në EC2Për të validuar planin e të dhënave pa kontrollin e mbingarkesës TCP, përdorni çelësin -uMarrës me dy tela në portet 80–81:
ntttcp -r -u -p 80 -t 60 -cd 5 -wu 5 -v -xml c:\bench.xml -m 1,0,192.168.1.4 1,1,192.168.1.4

Transmetues ekuivalent UDP, duke respektuar IP-në dhe portet:
ntttcp -s -u -p 80 -t 60 -cd 5 -wu 5 -m 1,0,192.168.1.4 1,1,192.168.1.4

Në UDP do të shihni MB/s, Mbps, madhësinë mesatare për përfundim dhe buffer-at/s., së bashku me numëruesit e ndërprerjeve dhe DPC-të. Ndryshe nga TCP, nuk ka garanci për dorëzimin, kështu që gabimet dhe humbjet janë më të dukshme nëse e shtyni rrjetin deri në kufijtë e tij.

Interpretoni rezultatet: rendimenti, ritransmetimet dhe gabimet

Rendimenti (MB/s dhe Mbps): është rendimenti efektiv. Me 1 GbE, mund të prisni ~940 Mbps (rreth 112 MB/s) nëse gjithçka është në rregull. Me 10 GbE, nivelet afër 9–9.5 Gbps janë të arsyeshme pa korniza gjigante dhe më të mira me cilësime optimale.

  Këshilla se si të bëni kopje rezervë të mesazheve të përmbajtjes tekstuale në telefonin Android në Gmail

Buferë/memorie, madhësia mesatare e kornizës dhe ciklet/bajtKëto tregojnë se sa ngarkesë po lëviz secila fije pune dhe efikasitetin e stack-ut. Ciklet e larta/bajt sugjerojnë që CPU-ja po punon shumë për çdo bajt të transferuar.

DPC/ndërprerje për sekondëNëse ato rriten ndjeshëm, merrni në konsideratë optimizimin e RSS/RSC/RDMA (nëse ka), drajverëve dhe alokimit të fijeve të CPU-së. Alokimi i dobët mund të krijojë pika të nxehta në një bërthamë të vetme.

TransmetimetShikimi i disa transmetimeve mund të jetë normal nën ngarkesë, por Numrat e lartë të vazhdueshëm tregojnë humbje ose mbingarkesëMe një 1GbE të pastër, ritransmetimet duhet të jenë të ulëta; nëse shihni mijëra brenda pak minutash, kontrolloni kabllot, cilësinë e lidhjes, përplasjet (dupleks i plotë i negociuar gabimisht), shkarkimet (provoni të çaktivizoni LSO/TSO për testim), radhët e NIC dhe presionin e buferit.

gabime: : ideali është zero. Nëse shfaqen, kërkoni për CRC në switch-e/NIC, MTU jokonsistente, drajverë të vjetër ose rregulla firewall/IDS që inspektojnë tepër. Sigurohuni që korniza jumbo të jetë konsistente nëse i përdorni dhe që të dy pikat fundore të mbështesin të njëjtin MTU.

Studimet e rasteveNëse po merrni ~112 MB/s në një rrjet lokal 1 GbE, por shihni ~3.000 ritransmetime dhe ~400 gabime në 5 minuta, kjo tregon humbje të ndërprera. Provoni të ndryshoni kabllon/portën, të përditësoni drajverët, të kontrolloni kontrollin e rrjedhës, të çaktivizoni shkarkimet e përkohshme dhe përsëriteni. Nëse ritransmetimet bien ndjeshëm, e keni arritur objektivin.

iperf kundrejt NTTTCP dhe mjete të tjera të dobishme

iperf është i shkëlqyer për testime të shpejta, ndërplatformore, dhe ju ndihmon të demonstroni nëse rrjeti mund të mbajë 1G/10G midis dy pikave specifike. Është shumë i dobishëm për të përjashtuar rrjetin kur problemi është me aplikacionin ose memorjen.

NTTTCP ofron kontroll më të detajuar në Windows (hartimi i fijeve dhe CPU-së, modalitetet asinkrone, XML i detajuar, metrika DPC/ndërprerjeje) dhe një implementim Linux që lehtëson testimin konsistent. Në mjediset Microsoft/Azure, shpesh është pika referuese.

ctsTraffic (Trafiku nga Klienti në Server) është një tjetër mjet i Microsoft-it për gjenerimin dhe verifikimin e trafikut. Mund të plotësojë NTTTCP nëse dëshironi të profilizoni modele më të larmishme klient-server.

Metodologjia për 'shurjen e zjarreve' midis ekipeveEkzekutoni teste nga hostet e prekura në të njëjtën rrugë rrjeti. Përsëriteni në kohë të ndryshme, shtoni teste të kontrolluara UDP dhe mblidhni të dhënat e kapura në NIC/switch. Vetëm me rendiment të lartë në iperf/NTTTCP, ritransmetime të ulëta dhe zero gabime mund të demonstroni me të dhëna se rrjeti nuk është pengesë.

Hapat e mëtejshëm dhe informacionet përkatëse

Kontrolloni MTU-në dhe konsistencën nga fillimi në fund (sidomos nëse kombinoni korniza gjigante). Në AWS, merrni në konsideratë Grupet e Vendosjes dhe Rrjetëzimin e Përmirësuar. Në Azure, përshtatni madhësinë e VM-së me objektivat tuaja të xhiros.

Eksperimentoni me numrin e fijeve (-m) dhe fiksimin e CPU-së për të përfituar nga RSS dhe radhët e shumta të NIC-ve. Vendosni -ta në 300 s për testim të qëndrueshëm dhe përdorni -xml për të ruajtur rezultatet për krahasim.

Nëse duhet të kombinoni Windows dhe Linux, mos harroni -ns/-N. Dhe nëse vonesa është e konsiderueshme, merrni në konsideratë rritjen e dritares TCP vetëm me -rb për të validuar hipotezat, duke pasur kujdes me çaktivizimin e akordimit automatik.

Një udhëzues praktik si ky, i cili kombinon komandat, interpretimin dhe rregullimet, do t'ju lejojë të matni, kuptoni dhe përmirësoni rrjetin tuaj. pa zhurmë nga nënsistemet e tjera, duke e bërë të qartë nëse limiti është në infrastrukturë, konfigurim apo në vetë dizajnin e aplikacionit.