IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

flowgrind - Online nel cloud

Esegui flowgrind nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando flowgrind che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


flowgrind - generatore di traffico TCP avanzato per Linux, FreeBSD e Mac OS X

SINOSSI


macinato [OPZIONE] ...

DESCRIZIONE


macinazione di flusso è un generatore di traffico TCP avanzato per il test e il benchmarking di Linux,
Stack TCP/IP di FreeBSD e Mac OS X. A differenza di altri strumenti di misurazione delle prestazioni,
presenta un'architettura distribuita, in cui vengono misurati il ​​throughput e altre metriche
tra processi server flowgrind arbitrari, demone flowgrind flowgrindd(1).

Flowgrind misura oltre al goodput (throughput), il tempo di interarrivo del livello di applicazione
(IAT) e round-trip time (RTT), blockcount e transazioni di rete. A differenza della maggior parte dei cross-
strumenti di test della piattaforma, flowgrind raccoglie e riporta le metriche TCP restituite dal
Opzione socket TCP_INFO, che di solito è interna allo stack TCP/IP. Su Linux e
FreeBSD questo include tra l'altro la stima del kernel dell'RTT end-to-end, la dimensione
della finestra di congestione TCP (CWND) e della soglia di avvio lento (SSTHRESH).

Flowgrind ha un'architettura distribuita. È diviso in due componenti: il flowgrind
demone, flowgrindd(1) e il macinazione di flusso controllore. Utilizzando il controller, scorre tra
È possibile configurare qualsiasi due sistemi che eseguono il demone flowgrind (test di terze parti). A regolare
intervalli durante il test il controller raccoglie e visualizza i risultati misurati da
i demoni. Può eseguire più flussi contemporaneamente con le stesse impostazioni o diverse e
programma individualmente ognuno. La connessione di test e controllo può essere facoltativamente deviata a
interfacce diverse.

La stessa generazione di traffico è un trasferimento di massa, a velocità limitata o sofisticata
test di richiesta/risposta. Flowgrind usa libpcap per scaricare automaticamente il traffico per
analisi qualitativa.

VERSIONI


Sono due importanti gruppi di opzioni: opzioni del controller e opzioni del flusso. Come il
nome suggerisce, le opzioni del controller si applicano globalmente e potenzialmente influiscono su tutti i flussi, mentre
le opzioni specifiche del flusso si applicano solo al sottoinsieme di flussi selezionato utilizzando il -F opzione.

Gli argomenti obbligatori per le opzioni lunghe è obbligatoria per brevi opzioni troppo.

Generale Opzioni
-h, --Aiuto[=COSA]
visualizzare la guida ed uscire. Opzionale CHE COSA può essere "presa" per aiuto sulla presa
opzioni o aiuto per la generazione di traffico 'traffico'

-v, --versione
stampa le informazioni sulla versione ed esci

Controller Opzioni
-c, --show-due punti=TIPO[,TIPO] ...
visualizzare in output la colonna del report dell'intervallo intermedio TYPE. Valori ammessi per
TYPE sono: 'interval', 'through', 'transac', 'iat', 'kernel' (tutto mostrato per impostazione predefinita),
e 'blocks', 'rtt', 'delay' (opzionale)

-d, - debug
aumentare la verbosità del debug. Aggiungi l'opzione più volte per aumentare la verbosità

-e, --prefisso-dump=PRE
anteponi il prefisso PRE per eseguire il dump del nome del file (predefinito: "flowgrind-")

-i, --report-intervallo=#.#
intervallo di segnalazione, in secondi (predefinito: 0.05 s)

--file-log[=RISORSE]
scrivi l'output nel file di log FILE (predefinito: flowgrind-'timestamp'.log)

-m rapporto throughput in 2**20 byte/s (predefinito: 10**6 bit/s)

-n, --flussi=#
numero di flussi di prova (predefinito: 1)

-o sovrascrivi i file di registro esistenti (impostazione predefinita: no)

-p non stampare valori simbolici (come INT_MAX) invece di numeri

-q, --silenzioso
stai zitto, non accedere allo schermo (impostazione predefinita: disattivato)

-s, --tcp-stack=TIPO
non determinano automaticamente l'unità degli stack TCP di origine. Forza l'unità su TYPE, dove
TYPE è 'segmento' o 'byte'

-w scrivi l'output nel file di registro (come --file-log)

Flow Opzioni
Tutti i flussi hanno due endpoint, un'origine e una destinazione. La distinzione tra fonte
e gli endpoint di destinazione influiscono solo sulla creazione della connessione. Quando si avvia un flusso il
l'endpoint di destinazione è in ascolto su un socket e l'endpoint di origine si connette ad esso. Per il
test effettivo questo non fa differenza, entrambi gli endpoint hanno esattamente le stesse capacità.
I dati possono essere inviati in entrambe le direzioni e molte impostazioni possono essere configurate individualmente per
ciascun punto finale.

Alcune di queste opzioni prendono l'endpoint del flusso come argomento, indicato da 'x' nell'opzione
sintassi. 'x' deve essere sostituito con 's' per l'endpoint di origine, 'd' per il
endpoint di destinazione o 'b' per entrambi gli endpoint. Per specificare valori diversi per ciascuno
endpoint, separarli con una virgola. Ad esempio -W s=8192,d=4096 imposta l'annuncio
finestra a 8192 alla sorgente e 4096 alla destinazione.

-A x utilizzare la dimensione di risposta minima necessaria per il calcolo RTT
(uguale a -G s=p,C,40)

-B x=# imposta il buffer di invio richiesto, in byte

-C x interrompere il flusso se si verifica una congestione locale

-D x=DSCP
Valore DSCP per byte di intestazione IP del tipo di servizio (TOS)

-E enumera i byte nel payload invece di inviare zeri

-F #[,#] ...
le opzioni di flusso che seguono questa opzione si applicano solo agli ID di flusso forniti. Utile in
combinazione con -n per impostare opzioni specifiche per determinati flussi. Inizia la numerazione
con 0, quindi -F 1 si riferisce al secondo flusso. Con -1 è possibile fare riferimento a tutto il flusso

-G x=(q|p|g) :(C|U|E|N|L|P|W):#1:[#2]
attivare la generazione di traffico stocastico e impostare i parametri in base all'utilizzo
distribuzione. Per ulteriori informazioni vedere la sezione "Opzione di generazione del traffico"

-H x=HOST[/CONTROLLO[:PORT]]
prova da/a HOST. L'argomento opzionale è l'indirizzo e la porta per CONTROL
connessione allo stesso host. Si presume che un endpoint non specificato sia
localhost

-J # usa il seme casuale # (predefinito: leggi / Dev / urandom)

-I abilitare il calcolo del ritardo unidirezionale (nessuna sincronizzazione dell'orologio)

-L chiama connect() sul socket di prova immediatamente prima di iniziare a inviare dati (in ritardo
Collegare). Se non specificato la connessione di prova viene stabilita nella preparazione
fase prima dell'inizio del test

-M x scarica il traffico usando libpcap. flowgrindd(1) deve essere eseguito come root

-N shutdown() ogni direzione del socket dopo il flusso di prova

-O x=OPT
impostare l'opzione presa OPT sulla presa di prova. Per ulteriori informazioni vedere la sezione
"Opzioni socket"

-P x non eseguire l'iterazione su select() per continuare a inviare nel caso in cui la dimensione del blocco non lo fosse
sufficiente per riempire la coda di invio (invadente)

-Q solo riepiloga, non vengono calcolati rapporti a intervalli intermedi (silenzioso)

-R x=#.#(z|k|M|G)(b|B)
invia alla velocità specificata al secondo, dove: z = 2**0, k = 2**10, M = 2**20, G =
2**30 e b = bit/s (predefinito), B = byte/s

-S x=# imposta la dimensione del blocco (messaggio), in byte (come -G s=q,DO,#)

-T x=#.#
imposta la durata del flusso, in secondi (default: s=10,d=0)

-U # imposta la dimensione del buffer dell'applicazione, in byte (predefinito: 8192) tronca i valori se usato con
generazione di traffico stocastico

-W x=# imposta il buffer del destinatario richiesto (finestra annunciata), in byte

-Y x=#.#
imposta il ritardo iniziale prima che l'host inizi a inviare, in secondi

TRAFFICO GENERAZIONE OPZIONE


Tramite opzione -G flowgrind supporta la generazione di traffico stocastico, che consente di condurre
oltre al normale bulk anche trasferimenti di dati a velocità limitata e richiesta-risposta avanzati.

L'opzione di generazione del traffico stocastico -G prende l'endpoint del flusso come argomento, indicato
da 'x' nella sintassi dell'opzione. 'x' deve essere sostituito con 's' per la fonte
endpoint, 'd' per l'endpoint di destinazione o 'b' per entrambi gli endpoint. Tuttavia, si prega di notare
che la generazione di traffico bidirezionale può portare a risultati imprevisti. Per specificare diverso
valori per ogni endpoint, separarli con una virgola.

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

Parametro di flusso:

q dimensione richiesta (in byte)

p dimensione della risposta (in byte)

g richiesta interpacket gap (in secondi)

Distribuzioni:

C costante (#1: valore, #2: non usato)

U uniforme (#1: minimo, #2: massimo)

E esponenziale (#1: lamba - a vita, #2: non usato)

N normale (#1: mu - valore medio, #2: sigma_square - varianza)

L lognormale (#1: zeta - significa, #2: sigma - dev std)

P pareto (#1: k - forma, #2: x_min - scala)

W Weibull (#1: lambda - scala, #2: k - forma)

Le distribuzioni avanzate come Weibull sono disponibili solo se flowgrind è compilato
con il supporto di libgsl.

-U # specificare un limite per i valori calcolati per le dimensioni della richiesta e della risposta, necessario
perché i valori distribuiti avanzati sono illimitati, ma dobbiamo conoscere il
buffersize (non è necessario per valori costanti o distribuzione uniforme). Valori
fuori dai limiti vengono ricalcolati fino a quando non si verifica un risultato valido ma al massimo 10
volte (quindi viene utilizzato il valore associato)

PRESA OPZIONE


Flowgrind consente di impostare le seguenti opzioni di prese standard e non standard tramite l'opzione
-O.

Tutte le opzioni socket accettano l'endpoint del flusso come argomento, indicato da 'x' nell'opzione
sintassi. 'x' deve essere sostituito con 's' per l'endpoint di origine, 'd' per il
endpoint di destinazione o 'b' per entrambi gli endpoint. Per specificare valori diversi per ciascuno
endpoint, separarli con una virgola. Inoltre, è possibile passare ripetutamente lo stesso
endpoint per specificare più opzioni socket.

Standard presa di corrente Opzioni
-O x=TCP_CONGESTIONE=ALG
impostare l'algoritmo di controllo della congestione ALG sul socket di prova

-O x=TCP_CORK
imposta TCP_CORK sul socket di prova

-O x=TCP_NODELAY
disabilita l'algoritmo nagle sul socket di prova

-O x=SO_DEBUG
imposta SO_DEBUG sul socket di prova

-O x=IP_MTU_DISCOVER
imposta IP_MTU_DISCOVER sul socket di prova se non è già abilitato per impostazione predefinita

-O x=RECORD_ROTTA
imposta ROUTE_RECORD sul socket di prova

Non standard presa di corrente Opzioni
-O x=TCP_MTCP
imposta TCP_MTCP (15) sul socket di prova

-O x=TCP_ELCN
impostare TCP_ELCN (20) sul socket di prova

-O x=TCP_LCD
imposta TCP_LCD (21) sul socket di prova

ESEMPI


macinazione di flusso
test delle prestazioni TCP IPv4 di localhost con impostazioni predefinite, come flowgrind -H
b=127.0.0.1 -T s=10,d=0. Il demone flowgrind deve essere eseguito su localhost

macinazione di flusso -H b=::1/127.0.0.1
come sopra, ma testando le prestazioni TCP IPv6 di localhost con le impostazioni predefinite

macinazione di flusso -H s=ospite1,d=ospite2
trasferimento TCP di massa tra host1 e host2. Host1 funge da sorgente, host2 come
punto finale di destinazione. Entrambi gli endpoint devono essere eseguiti dal demone flowgrind. Il
vengono utilizzate le opzioni di flusso predefinite, con una durata del flusso di 10 secondi e un flusso di dati
da host1 a host2

macinazione di flusso -H s=ospite1,d=ospite2 -T s=0,d=10
come sopra ma invece con un flusso che invia dati per 10 secondi da host2 a
host1

macinazione di flusso -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
impostare due flussi paralleli, primo flusso tra 192.168.0.1 e 192.168.0.69, secondo
flusso tra 10.0.0.1 e 10.0.0.2

macinazione di flusso -p -H s=10.0.0.100/192.168.1.100,d=10.0.0.101/192.168.1.101 -A s
impostare un flusso tra 10.0.0.100 e 10.0.0.101 e utilizzare indirizzi IP 192.168.1.x
per il controllo del traffico. Attiva la risposta minima per il calcolo RTT

macinazione di flusso -i 0.001 -T s = 1 | egrep ^S | gnplot -persistere -e 'complotto "-" utilizzando 3:5 con Linee
titolo "Portata" '
impostare un flusso sul dispositivo di loopback e tracciare i dati del mittente con l'aiuto
di gnuplot

macinazione di flusso -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: usa una dimensione di richiesta costante di 400 byte
-G s=p,N,2000,50: usa la dimensione della risposta distribuita normale con media 2000 byte e
varianza 50
-G s=g,U,0.005,0.01: usa un gap interpacket distribuito uniforme con min 0.005s e
e massimo 10 ms
-U 32000: troncare le dimensioni dei blocchi a 32 kbyte (necessario per la distribuzione normale)

TRAFFICO SCENARI


I seguenti esempi dimostrano come può essere la capacità di generazione del traffico di flowgrind
Usato. Questi sono stati incorporati in diversi test per flowgrind e sono stati dimostrati
significativo. Tuttavia, poiché il traffico Internet è vario, non vi è alcuna garanzia che questi siano
appropriato in ogni situazione.

RICHIEDI Risposta Style (HTTP)
Questo scenario si basa sul lavoro in
http://www.3gpp2.org/Public_html/specs/C.R1002-0_v1.0_041221.pdf.

macinazione di flusso -M s -G s=q,C,350 -G s=p,L,9055,115.17 -U 100000
-M s: dump del traffico sul lato mittente
-G s=q,C,350: usa la dimensione delle richieste costanti 350 byte
-G s=p,L,9055,115: usa la distribuzione lognormale con media 9055 e varianza 115 per
dimensione della risposta
-U 100000: Tronca la risposta a 100 kbyte

Per questo scenario si consiglia di concentrarsi su RTT (valori più bassi sono migliori) e Network
Transazioni come metrica (valori più alti sono migliori).

Interactive Sessione (telnet)
Questo scenario emula una sessione telnet.

macinazione di flusso -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: usa richiesta e risposta uniformemente distribuite
dimensioni comprese tra 40B e 10kB
-O b=TCP_NODELAY: imposta le opzioni socket TCP_NODELAY come usato dalle applicazioni telnet

Per questo scenario RTT (più basso è meglio) e Transazioni di rete sono metriche utili
(Più alto è meglio).

tasso Limitato (Streaming media)
Questo scenario emula un trasferimento di flusso video con un bitrate di 800 kbit/s.

macinazione di flusso -G s=q,C,800 -G s=g,N,0.008,0.001
Utilizzare il normale gap interpacket distribuito con media 0.008 e una piccola varianza
(0.001). In combinazione con la dimensione della richiesta 800 byte un bitrate medio di circa 800
kbit/s viene raggiunto. La varianza viene aggiunta per emulare un bitrate variabile come se fosse
utilizzato nei codec video odierni.

Per questo scenario lo IAT (più basso è meglio) e il throughput minimo (più alto è meglio) sono
metriche interessanti.

USCITA COLONNE


Flusso/punto finale identificatori
# endpoint del flusso, 'S' per origine o 'D' per destinazione

ID identificatore numerico di flusso

iniziare ed fine
limiti dell'intervallo di misurazione in secondi. Il tempo mostrato è quello trascorso
tempo dalla ricezione del messaggio RPC per avviare il test dal punto di demone di
vista

Applicazioni strato metrica
attraverso
trasmissione del goodput dell'endpoint di flusso durante questo intervallo di misurazione,
misurato in Mbit/s (predefinito) o MB/s (-m)

transazione
numero di blocchi di risposta ricevuti con successo al secondo (lo chiamiamo rete
transazioni)

richiesta/risposta
numero di richieste e blocchi di risposta inviati durante questo intervallo di misurazione (colonna
disabilitato per impostazione predefinita)

IAT bloccare il tempo di inter-arrivo (IAT). Insieme al minimo e al massimo i
viene visualizzata la media aritmetica per quello specifico intervallo di misurazione. Se nessun blocco è
ricevuto durante l'intervallo del rapporto, viene visualizzato 'inf'.

DLY ed RTT
I blocchi a 1 e 2 vie ritardano rispettivamente la latenza del blocco e il round trip del blocco
tempo (RTT). Per entrambi i ritardi i valori minimo e massimo riscontrati in quel
l'intervallo di misurazione viene visualizzato insieme alla media aritmetica. Se nessun blocco,
rispettivamente il riconoscimento del blocco è arrivato durante quell'intervallo di report, 'inf' è
visualizzato. Entrambi, il ritardo di blocco a 1 e 2 vie sono disabilitati per impostazione predefinita (vedi
opzione -I ed -A).

nocciolo metrica (TCP_INFO)
Tutte le seguenti metriche specifiche TCP sono ottenute dal kernel tramite TCP_INFO
opzione presa al fine di ogni intervallo di rapporto. La frequenza di campionamento può essere modificata tramite
opzione -i.

cwnd (tcpi_cwnd)
dimensione della finestra di congestione TCP (CWND) in numero di segmenti (Linux) o byte
(FreeBSD)

qc (tcpi_snd_sshtresh)
dimensione della soglia di avvio lento in numero di segmenti (Linux) o byte (FreeBSD)

uack (tcpi_unacked)
numero di segmenti attualmente non riconosciuti, ovvero numero di segmenti in volo
(FlightSize) (solo Linux)

sacco (tcpi_sacked)
numero di segmenti riconosciuti selettivamente (solo Linux)

perso (tcpi_perso)
numero di segmenti ipotizzati persi (solo Linux)

retr (tcpi_retrans)
numero di segmenti ritrasmessi non riconosciuti (solo Linux)

Tret (tcpi_retransmits)
numero di ritrasmissioni attivate da un timeout di ritrasmissione (RTO) (solo Linux)

fack (tcpi_facket)
numero di segmenti tra SND.UNA e il più alto riconosciuto selettivamente
numero di sequenza (SND.FACK) (solo Linux)

rior (tcpi_riordino)
metrica di riordino dei segmenti. Il kernel Linux può rilevare e gestire il riordino
senza significativa perdita di prestazioni se la distanza di spostamento di un segmento lo fa
non superare la metrica di riordino (solo Linux)

RTT (tcpi_rtt) e rtvar (tcpi_rttvar)
Tempo di andata e ritorno TCP e sua varianza espressa in ms

rto (tcpi_rto)
il timeout di ritrasmissione dato in ms

bkof (tcpi_backoff)
numero di backoff RTO (solo Linux)

ca stato (tcpi_ca_state)
stato interno della macchina a stati di controllo della congestione TCP come implementato nel
kernel Linux. Può essere uno di aprire, disordine, fare la coda, recupero or spento (Solo Linux)

Apri è lo stato normale. Indica che nessun riconoscimento duplicato (ACK) è
ricevuto e nessun segmento è considerato perso

Disordine
viene inserito alla ricezione del primo ACK duplicato consecutivo o
riconoscimento selettivo (SACK)

CWR viene inserito quando una notifica da Explicit Congestion Notification (ECN)
viene ricevuto

Recupero
viene inserito quando sono presenti tre ACK duplicati o un numero equivalente di SACK
ricevuto. In questo stato le procedure di controllo della congestione e di recupero delle perdite come
Vengono eseguiti Fast Retransmit e Fast Recovery (RFC 5861)

Perdita viene inserito se l'RTO scade. Ancora una volta il controllo della congestione e il recupero delle perdite
le procedure vengono eseguite

SMS ed pmtu
mittente dimensione massima del segmento e percorso unità di trasmissione massima in byte

Interno macinazione di flusso stato (solo abilitato in mettere a punto costruisce)
status stato del flusso all'interno di flowgrind per scopi diagnostici. È una tupla di due
valori, il primo per l'invio e il secondo per la ricezione. Idealmente gli stati di
entrambi gli endpoint di origine e di destinazione di un flusso dovrebbero essere simmetrici ma poiché
non sono sincronizzati non possono cambiare contemporaneamente. I possibili valori
siamo:

c Direzione completata invio/ricezione

d In attesa del ritardo iniziale

f Stato di guasto

l Stato attivo, niente ancora trasmesso o ricevuto

n Attività normale, alcuni dati sono stati trasmessi o ricevuti

o Il flusso ha durata zero in quella direzione, nessun dato verrà scambiato

AUTORI


Flowgrind è stato originariamente avviato da Daniel Schaffrath. La misura distribuita
l'architettura e la generazione avanzata del traffico sono state successivamente aggiunte da Tim Kosse e
Christian Samsel. Attualmente, flowgrind è sviluppato e mantenuto Arnd Hannemann e
Alessandro Zimmermann.

Usa flowgrind online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    NSIS: sistema di installazione con script Nullsoft
    NSIS: sistema di installazione con script Nullsoft
    NSIS (installazione con script Nullsoft
    System) è un open source professionale
    sistema per creare programmi di installazione di Windows. Esso
    è progettato per essere il più piccolo e flessibile
    come possibile...
    Scarica NSIS: Nullsoft Scriptable Install System
  • 2
    autorizzazione
    autorizzazione
    AuthPass è una password open source
    manager con il supporto per il popolare e
    comprovato Keepass (kdbx 3.x E kdbx 4.x ...
    Scarica pass di autenticazione
  • 3
    Zabbix
    Zabbix
    Zabbix è un open di classe enterprise
    soluzione di monitoraggio distribuito alla fonte
    progettato per monitorare e tracciare
    prestazioni e disponibilità della rete
    server, dispositivo...
    Scarica Zabbix
  • 4
    KDiff3
    KDiff3
    Questo repository non è più mantenuto
    ed è conservata a scopo di archivio. Vedere
    https://invent.kde.org/sdk/kdiff3 for
    il codice più recente e
    https://download.kde.o...
    Scarica KDiff3
  • 5
    USB LoaderGX
    USB LoaderGX
    USBLoaderGX è una GUI per
    Caricatore USB di Waninkoko, basato su
    libwiigui. Consente la quotazione e
    lancio di giochi Wii, giochi Gamecube e
    homebrew su Wii e WiiU...
    Scarica USBLoaderGX
  • 6
    Firebird
    Firebird
    Firebird RDBMS offre funzionalità ANSI SQL
    e funziona su Linux, Windows e
    diverse piattaforme Unix. Caratteristiche
    concorrenza e prestazioni eccellenti
    & potenza...
    Scarica l'uccello di fuoco
  • Di Più "

Comandi Linux

Ad