EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

flowgrind - Online în cloud

Rulați flowgrind în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda flowgrind care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


flowgrind - generator avansat de trafic TCP pentru Linux, FreeBSD și Mac OS X

REZUMAT


flowgrind [OPȚIUNE] ...

DESCRIERE


flowgrind este un generator de trafic TCP avansat pentru testarea și evaluarea comparativă a Linux,
FreeBSD și stive TCP/IP Mac OS X. Spre deosebire de alte instrumente de măsurare a performanței, acesta
prezintă o arhitectură distribuită, în care sunt măsurate debitul și alte valori
între procesele arbitrare ale serverului flowgrind, demonul flowgrind flowgrindd(1).

Flowgrind măsoară, pe lângă goodput (debitul), timpul de intersosire a stratului de aplicare
(IAT) și timp dus-întors (RTT), număr de blocuri și tranzacții/e rețea. Spre deosebire de majoritatea cruce-
instrumente de testare a platformei, flowgrind colectează și raportează valorile TCP returnate de
Opțiunea socket TCP_INFO, care sunt de obicei interne stivei TCP/IP. Pe Linux și
FreeBSD aceasta include, printre altele, estimarea nucleului a RTT-ului end-to-end, dimensiunea
a ferestrei de congestie TCP (CWND) și a pragului de pornire lentă (SSTHRESH).

Flowgrind are o arhitectură distribuită. Este împărțit în două componente: flowgrind
demon, flowgrindd(1) și flowgrind controlor. Folosind controlerul, curge între
oricare două sisteme care rulează demonul flowgrind pot fi configurate (teste terțe părți). La regulat
intervale în timpul testului, controlerul colectează și afișează rezultatele măsurate
demonii. Poate rula mai multe fluxuri simultan cu aceleași setări sau diferite și
programați fiecare în mod individual. Conexiunea de testare și control poate fi redirecționată opțional către
interfețe diferite.

Generarea de trafic în sine este fie transfer în vrac, limitată la rata, fie sofisticată
teste de cerere/răspuns. Flowgrind folosește libpcap pentru a descărca automat traficul pentru
analiza calitativa.

OPŢIUNI


Sunt două grupuri importante de opțiuni: opțiuni de controler și opțiuni de flux. Ca
numele sugerează, opțiunile de controler se aplică la nivel global și pot afecta toate fluxurile, în timp ce
Opțiunile specifice fluxului se aplică numai subsetului de fluxuri selectate folosind -F opțiune.

Argumentele obligatorii pentru opțiunile lungi sunt obligatorii și pentru opțiunile scurte.

General Opțiuni
-h, --Ajutor[=CE]
afișați ajutor și ieșiți. Opțional WHAT poate fi fie „socket” pentru ajutor la socket
opțiuni sau ajutor pentru generarea traficului „trafic”.

-v, --versiune
imprimați informațiile despre versiunea și ieșiți

operator de date cu caracter personal, Opțiuni
-c, --arata-colon=TIP[,TIP] ...
afișează coloana de raport de interval intermediar TYPE în ieșire. Valori permise pentru
TYPE sunt: ​​„interval”, „prin”, „transac”, „iat”, „kernel” (toate se afișează implicit),
și „blocuri”, „rtt”, „întârziere” (opțional)

-d, --depanare
crește gradul de verbozitate de depanare. Adăugați opțiunea de mai multe ori pentru a crește gradul de verbozitate

-e, --dump-prefix=PRE
adăugați prefixul PRE pentru a descărca numele fișierului (implicit: „flowgrind-”)

-i, --report-interval=#.#
interval de raportare, în secunde (implicit: 0.05 s)

--fișier jurnal[=FILE]
scrierea ieșirii în fișierul jurnal FILE (implicit: flowgrind-'timestamp'.log)

-m raportează debitul în 2**20 octeți/s (implicit: 10**6 biți/s)

-n, --curge=#
numărul de fluxuri de testare (implicit: 1)

-o suprascrieți fișierele jurnal existente (implicit: nu)

-p nu tipăriți valori simbolice (cum ar fi INT_MAX) în loc de numere

-q, --Liniște
taci, nu te autentifica pe ecran (implicit: dezactivat)

-s, --tcp-stack=TIP
nu determina automat unitatea de stive TCP sursă. Forțați unitatea la TYPE, unde
TYPE este „segment” sau „octet”

-w scrieți ieșirea în fișierul jurnal (la fel ca --fișier jurnal)

Debit Opțiuni
Toate fluxurile au două puncte finale, o sursă și o destinație. Distincția dintre sursă
iar punctele finale de destinație afectează doar stabilirea conexiunii. La pornirea unui flux
punctul final de destinație ascultă pe un socket și punctul final sursă se conectează la acesta. Pentru
testul real nu face nicio diferență, ambele puncte finale au exact aceleași capacități.
Datele pot fi trimise în orice direcție și multe setări pot fi configurate individual pentru
fiecare punct final.

Unele dintre aceste opțiuni iau punctul final al fluxului ca argument, notat cu „x” în opțiune
sintaxă. „x” trebuie înlocuit fie cu „s” pentru punctul final sursă, fie cu „d” pentru
punctul final de destinație sau „b” pentru ambele puncte finale. Pentru a specifica valori diferite pentru fiecare
punctele finale, separați-le prin virgulă. De exemplu -W s=8192,d=4096 stabilește anunțul
fereastră la 8192 la sursă și 4096 la destinație.

-A x utilizați dimensiunea minimă de răspuns necesară pentru calculul RTT
(la fel ca -G s=p,C,40)

-B x=# setați tamponul de trimitere solicitat, în octeți

-C x opriți fluxul dacă se confruntă cu congestie locală

-D x=DSCP
Valoarea DSCP pentru octetul antet IP tip-de-serviciu (TOS).

-E enumera octeții în sarcina utilă în loc să trimită zerouri

-F #[,#] ...
opțiunile de flux care urmează acestei opțiuni se aplică numai ID-urilor de flux date. Util în
în combinație cu -n pentru a stabili opțiuni specifice pentru anumite fluxuri. Începe numerotarea
cu 0, deci -F 1 se referă la al doilea flux. Cu -1 poate fi referit tot fluxul

-G x=(q|p|g):(C|U|E|N|L|P|W):#1:[#2]
activați generarea stocastică de trafic și setați parametrii în funcție de cel utilizat
distributie. Pentru informații suplimentare, consultați secțiunea „Opțiune de generare a traficului”

-H x=HOST[/CONTROL[:PORT]]
test de la/la GAZDA. Argumentul opțional este adresa și portul pentru CONTROL
conexiune la aceeași gazdă. Se presupune că un punct final care nu este specificat este
localhost

-J # utilizați sămânța aleatoare # (implicit: citiți / Dev / urandom)

-I activați calculul întârzierii unidirecționale (fără sincronizare a ceasului)

-L apelați connect() pe soclul de testare imediat înainte de a începe să trimiteți date (târzie
conectați). Dacă nu este specificat, conexiunea de testare este stabilită în pregătire
faza înainte de începerea testului

-M x dump trafic folosind libpcap. flowgrindd(1) trebuie să fie rulat ca root

-N shutdown() fiecare direcție de socket după fluxul de testare

-O x=OPT
setați opțiunea priză OPT pe soclul de testare. Pentru informații suplimentare vezi secțiunea
„Opțiuni de priză”

-P x nu repetați prin select() pentru a continua trimiterea în cazul în care dimensiunea blocului nu a făcut-o
suficient pentru a umple coada de trimitere (insistent)

-Q doar rezumați, nu sunt calculate rapoarte cu intervale intermediare (liniștite)

-R x=#.#(z|k|M|G)(b|B)
trimite la o rată specificată pe secundă, unde: z = 2**0, k = 2**10, M = 2**20, G =
2**30 și b = biți/s (implicit), B = octeți/s

-S x=# setați dimensiunea blocului (mesajului), în octeți (la fel ca -G s=q,C,#)

-T x=#.#
setați durata debitului, în secunde (implicit: s=10,d=0)

-U # setați dimensiunea tamponului aplicației, în octeți (implicit: 8192) trunchiază valorile dacă este utilizat cu
generarea de trafic stocastic

-W x=# setați bufferul receptorului solicitat (fereastra anunțată), în octeți

-Y x=#.#
setați întârzierea inițială înainte ca gazda să înceapă să trimită, în secunde

TRAFIC GENERAREA OPȚIUNE


Prin opțiune -G flowgrind suportă generarea de trafic stocastic, ceea ce permite efectuarea
Pe lângă volumul normal, transferurile de date avansate cu rată limitată și cerere-răspuns.

Opțiunea de generare a traficului stocastic -G ia punctul final al fluxului ca argument, notat
prin „x” în sintaxa opțiunii. „x” trebuie înlocuit cu „s” pentru sursă
punct final, „d” pentru punctul final de destinație sau „b” pentru ambele puncte finale. Cu toate acestea, vă rugăm să rețineți
că generarea de trafic bidirecțională poate duce la rezultate neașteptate. Pentru a specifica diferit
valorile pentru fiecare punct final, separați-le prin virgulă.

-G x=(q|p|g):(C|U|E|N|L|P|W):#1:[#2]

Parametru de debit:

q dimensiunea cererii (în octeți)

p dimensiunea răspunsului (în octeți)

g solicitați decalaj între pachete (în secunde)

Distribuții:

C constant (#1: valoare, #2: nefolosit)

U uniforma (#1: min, #2: max)

E exponențial (#1: lamba - toată viața, #2: nefolosit)

N obișnuit (#1: mu - valoare medie, #2: sigma_square - varianță)

L lognormal (#1: zeta - înseamnă, #2: sigma - std dev)

P Pareto (#1: k - formă, #2: x_min - scară)

W weibull (#1: lambda - scară, #2: k - formă)

Distribuțiile avansate precum weibull sunt disponibile numai dacă flowgrind este compilat
cu suport libgsl.

-U # specificați un plafon pentru valorile calculate pentru dimensiunile cererii și răspunsului, necesare
deoarece valorile avansate distribuite sunt nelimitate, dar trebuie să cunoaștem
buffersize (nu este necesar pentru valori constante sau distribuție uniformă). Valori
în afara limitelor sunt recalculate până când apare un rezultat valid, dar cel mult 10
ori (apoi se folosește valoarea legată)

PRIZĂ OPȚIUNE


Flowgrind permite setarea următoarelor opțiuni de priză standard și non-standard prin opțiune
-O.

Toate opțiunile de socket iau punctul final al fluxului ca argument, notat cu „x” în opțiune
sintaxă. „x” trebuie înlocuit fie cu „s” pentru punctul final sursă, fie cu „d” pentru
punctul final de destinație sau „b” pentru ambele puncte finale. Pentru a specifica valori diferite pentru fiecare
punctele finale, separați-le prin virgulă. În plus, este posibil să treci în mod repetat la fel
punct final pentru a specifica mai multe opțiuni de socket.

Standard priză Opțiuni
-O x=TCP_CONGESTION=ALG
setați algoritmul de control al congestiei ALG pe soclul de testare

-O x=TCP_CORK
setați TCP_CORK pe soclul de testare

-O x=TCP_NODELAY
dezactivați algoritmul nagle pe soclul de testare

-O x=SO_DEBUG
setați SO_DEBUG pe soclul de testare

-O x=IP_MTU_DISCOVER
setați IP_MTU_DISCOVER pe soclul de testare dacă nu este deja activat implicit de sistem

-O x=ROUTE_RECORD
setați ROUTE_RECORD pe soclul de testare

Non-standard priză Opțiuni
-O x=TCP_MTCP
setați TCP_MTCP (15) pe soclul de testare

-O x=TCP_ELCN
setați TCP_ELCN (20) pe soclul de testare

-O x=TCP_LCD
setați TCP_LCD (21) pe soclul de testare

EXEMPLE


flowgrind
testarea performanței TCP IPv4 localhost cu setările implicite, la fel ca flowgrind -H
b=127.0.0.1 -Ts=10,d=0. Daemonul flowgrind trebuie rulat pe localhost

flowgrind -H b=::1/127.0.0.1
la fel ca mai sus, dar testând performanța TCP IPv6 localhost cu setările implicite

flowgrind -H s=gazdă1,d=gazdă2
transfer TCP în vrac între host1 și host2. Host1 acționează ca sursă, host2 ca
punctul final de destinație. Ambele puncte finale trebuie să ruleze demonul flowgrind. The
sunt utilizate opțiunile de flux implicite, cu o durată de flux de 10 secunde și un flux de date
de la gazda1 la gazda2

flowgrind -H s=gazdă1,d=gazdă2 -T s=0,d=10
la fel ca cele de mai sus, dar în schimb cu un flux care trimite date timp de 10 secunde de la host2 la
host1

flowgrind -n 2 -F 0 -H s=192.168.0.1,d=192.168.0.69 -F 1 -H s=10.0.0.1,d=10.0.0.2
configurați două fluxuri paralele, primul flux între 192.168.0.1 și 192.168.0.69, al doilea
debit între 10.0.0.1 și 10.0.0.2

flowgrind -p -H s=10.0.0.100/192.168.1.100,d=10.0.0.101/192.168.1.101 -A s
configurați un flux între 10.0.0.100 și 10.0.0.101 și utilizați adrese IP 192.168.1.x
pentru controlul traficului. Activați răspunsul minim pentru calculul RTT

flowgrind -i 0.001 -T s = 1 | egrep ^S | gnuplot -persista -e 'complot "-" folosind 3:5 cu linii
titlu "Debit" '
configurați un flux peste dispozitivul de loopback și trasați datele expeditorului cu ajutorul
de gnuplot

flowgrind -G s=q,C,400 -G s=p,N,2000,50 -G s=g,U,0.005,0.01 -U 32000
-G s=q,C,400: utilizați dimensiunea constantă a cererii de 400 de octeți
-G s=p,N,2000,50: utilizați dimensiunea normală a răspunsului distribuit cu o medie de 2000 de octeți și
varianța 50
-G s=g,U,0.005,0.01: utilizați un interval uniform distribuit între pachete cu min 0.005s și
si maxim 10 ms
-U 32000: trunchiați dimensiunile blocurilor la 32 kbytes (necesar pentru distribuția normală)

TRAFIC SCENARII


Următoarele exemple demonstrează cum poate fi capacitatea de generare de trafic a flowgrind
folosit. Acestea au fost încorporate în diferite teste pentru măcinarea în flux și au fost dovedite
plin de înțeles. Cu toate acestea, deoarece traficul pe internet este divers, nu există nicio garanție că acestea sunt
adecvat în fiecare situație.

Cerere Răspuns Stil (HTTP)
Acest scenariu se bazează pe munca în
http://www.3gpp2.org/Public_html/specs/C.R1002-0_v1.0_041221.pdf.

flowgrind -M s -G s=q,C,350 -G s=p,L,9055,115.17 -U 100000
-M s: dump trafic pe partea expeditorului
-G s=q,C,350: utilizați cereri constante cu dimensiunea de 350 de octeți
-G s=p,L,9055,115: utilizați distribuția lognormală cu medie 9055 și varianță 115 pentru
dimensiunea răspunsului
-U 100000: Trunchiază răspunsul la 100 kbytes

Pentru acest scenariu, am recomandat să ne concentrăm pe RTT (valorile mai mici sunt mai bune) și pe Rețea
Tranzacții/e ca metrică (valorile mai mari sunt mai bune).

Interactiv Sesiune (Telnet)
Acest scenariu emulează o sesiune telnet.

flowgrind -G s=q,U,40,10000 -G s=q,U,40,10000 -O b=TCP_NODELAY
-G s=q,U,40,10000 -G s=q,U,40,10000: utilizați cererea și răspunsul distribuit uniform
dimensiune între 40B și 10kB
-O b=TCP_NODELAY: setați opțiunile de socket TCP_NODELAY așa cum sunt utilizate de aplicațiile telnet

Pentru acest scenariu, RTT (mai mic este mai bine) și Tranzacțiile de rețea sunt valori utile
(mai sus e mai bine).

rată Limitat (Streaming Media)
Acest scenariu emulează un transfer de flux video cu o rată de biți de 800 kbit/s.

flowgrind -G s=q,C,800 -G s=g,N,0.008,0.001
Utilizați decalajul între pachete distribuit normal cu o medie de 0.008 și o variație mică
(0.001). În combinație cu dimensiunea cererii de 800 de octeți, o rată medie de biți de aproximativ 800
kbit/s este atins. Varianta este adăugată pentru a emula o rată de biți variabilă așa cum este
folosit în codecurile video actuale.

Pentru acest scenariu, IAT (mai mic este mai bine) și debitul minim (mai mare este mai bine).
metrici interesante.

REZULTATE COLOANE


Flux/punct final identificatorii
# punctul final al fluxului, fie „S” pentru sursă, fie „D” pentru destinație

ID identificator numeric al fluxului

începe și capăt
limitele intervalului de măsurare în secunde. Timpul afișat este cel scurs
timp de la primirea mesajului RPC pentru a începe testul din punctul demoni al
Vizualizează

aplicație strat metrics
prin
transmiterea puterii bune a punctului final de curgere în timpul acestui interval de măsurare,
măsurată în Mbit/s (implicit) sau MB/s (-m)

tranzacție
numărul de blocuri de răspuns primite cu succes pe secundă (noi îl numim rețea
tranzacții/e)

requ/resp
numărul de blocuri de solicitare și răspuns trimise în acest interval de măsurare (coloana
dezactivat în mod implicit)

EU LA blocarea timpului între sosiri (IAT). Împreună cu minimul și maximul
este afișată media aritmetică pentru acel interval de măsurare specific. Dacă nici un bloc nu este
primit în timpul intervalului de raportare, este afișat „inf”.

DLY și RTT
Întârzierea blocului cu 1 și 2 direcții, respectiv latența blocului și călătoria dus-întors
timp (RTT). Pentru ambele întârzieri valorile minime și maxime întâlnite în aceea
intervalul de măsurare sunt afișate împreună cu media aritmetică. Dacă nu există blocaj,
respectiv confirmarea blocului este sosită în timpul acelui interval de raportare, „inf” este
afișat. Ambele, întârzierea blocării cu 1 și 2 căi sunt dezactivate implicit (vezi
opțiune -I și -A).

Nucleu metrics (TCP_INFO)
Toate următoarele valori specifice TCP sunt obținute din nucleu prin TCP_INFO
opțiune de priză la capăt din fiecare interval de raportare. Rata de eșantionare poate fi modificată prin
opțiune -i.

cwnd (tcpi_cwnd)
dimensiunea ferestrei de congestie TCP (CWND) în număr de segmente (Linux) sau octeți
(FreeBSD)

ssth (tcpi_snd_sshtresh)
dimensiunea pragului de pornire lentă în număr de segmente (Linux) sau octeți (FreeBSD)

uack (tcpi_unacked)
numărul de segmente nerecunoscute în prezent, adică numărul de segmente în zbor
(FlightSize) (numai Linux)

sac (tcpi_sacked)
numărul de segmente recunoscute selectiv (numai Linux)

pierdut (tcpi_lost)
numărul de segmente presupuse pierdute (numai Linux)

retr (tcpi_retrans)
numărul de segmente retransmise neconfirmate (numai pentru Linux)

tret (tcpi_retransmits)
numărul de retransmisii declanșate de un timeout de retransmisie (RTO) (numai Linux)

Fack (tcpi_fackets)
număr de segmente între SND.UNA și cel mai mare recunoscut selectiv
număr de secvență (SND.FACK) (numai Linux)

reor (tcpi_reordering)
valoarea de reordonare a segmentelor. Nucleul Linux poate detecta și face față reordonării
fără pierderi semnificative de performanță dacă distanța pe care un segment este deplasat o face
să nu depășească valoarea de reordonare (numai Linux)

RTT (tcpi_rtt) și rttvar (tcpi_rttvar)
Timpul de călătorie dus-întors TCP și variația sa dată în ms

RTO (tcpi_rto)
timeout-ul de retransmisie dat în ms

bkof (tcpi_backoff)
numărul de retrageri RTO (numai Linux)

ca de stat (tcpi_ca_state)
starea internă a mașinii de control a stării de congestie TCP, așa cum este implementată în
Nucleul Linux. Poate fi unul dintre deschide, tulburare, cwr, recuperare or de pe (doar Linux)

Operatii Deschise este starea normală. Indică faptul că nu există nicio confirmare duplicată (ACK).
primit și niciun segment nu este considerat pierdut

Tulburare
se introduce la primirea primului ACK duplicat consecutiv sau
recunoaștere selectivă (SACK)

CWR este introdusă atunci când o notificare de la Notificarea explicită de congestie (ECN)
este primit

Recuperare
este introdus atunci când sunt trei ACK-uri duplicat sau un număr echivalent de SACK-uri
primit. În această stare, controlul congestiei și procedurile de recuperare a pierderilor cum ar fi
Retransmiterea rapidă și recuperarea rapidă (RFC 5861) sunt executate

Pierdere este introdus dacă RTO expiră. Din nou controlul congestiei și recuperarea pierderilor
procedurile sunt executate

mesaj și pmtu
dimensiunea maximă a segmentului expeditorului și unitatea de transmisie maximă a căii în octeți

Intern flowgrind de stat (numai activat in depana construiește)
Starea starea fluxului în interiorul flowgrind în scopuri de diagnosticare. Este un tuplu de doi
valori, primul pentru trimitere și al doilea pentru primire. În mod ideal, stările de
ambele puncte finale sursă și destinație ale unui flux ar trebui să fie simetrice, dar din moment ce
nu sunt sincronizate, este posibil să nu se schimbe în același timp. Valorile posibile
sunt:

c Direcția finalizată trimiterea/primirea

d Se așteaptă întârzierea inițială

f Stare de eroare

l Stare activă, nimic încă transmis sau primit

n Activitate normală, unele date au fost transmise sau primite

o Fluxul are o durată zero în acea direcție, nu vor fi schimbate date

AUTORI


Flowgrind a fost inițial început de Daniel Schaffrath. Măsurarea distribuită
arhitectura și generarea avansată de trafic au fost adăugate ulterior de Tim Kosse și
Christian Samsel. În prezent, flowgrind este dezvoltat și întreținut Arnd Hannemann și
Alexander Zimmermann.

Utilizați flowgrind online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    NSIS: Nullsoft Scriptable Install System
    NSIS: Nullsoft Scriptable Install System
    NSIS (Nullsoft Scriptable Install
    System) este o sursă deschisă profesională
    sistem pentru a crea programe de instalare Windows. Aceasta
    este conceput pentru a fi cât mai mic și flexibil
    cat posibil...
    Descărcați NSIS: Nullsoft Scriptable Install System
  • 2
    authpass
    authpass
    AuthPass este o parolă open source
    manager cu sprijin pentru popular şi
    Keepass dovedit (kdbx 3.x ȘI kdbx 4.x...
    Descărcați authpass
  • 3
    Zabbix
    Zabbix
    Zabbix este o companie deschisă de clasă enterprise
    soluție de monitorizare distribuită la sursă
    conceput pentru a monitoriza și urmări
    performanța și disponibilitatea rețelei
    servere, dispozitive...
    Descărcați Zabbix
  • 4
    KDiff3
    KDiff3
    Acest depozit nu mai este întreținut
    și se păstrează în scop de arhivă. Vedea
    https://invent.kde.org/sdk/kdiff3 for
    cel mai nou cod și
    https://download.kde.o...
    Descărcați KDiff3
  • 5
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX este o interfață grafică pentru
    Încărcătorul USB al lui Waninkoko, bazat pe
    libwiigui. Permite listarea și
    lansarea de jocuri Wii, jocuri Gamecube și
    homebrew pe Wii și WiiU...
    Descărcați USBLoaderGX
  • 6
    Firebird
    Firebird
    Firebird RDBMS oferă caracteristici ANSI SQL
    și rulează pe Linux, Windows și
    mai multe platforme Unix. Caracteristici
    concurență și performanță excelente
    & putere...
    Descărcați Firebird
  • Mai mult »

Comenzi Linux

Ad