iperf es 10GB eth

 ( ardi | 2015. október 28., szerda - 13:49 )

Sziasztok,

egy szerver-kliens paros 10GB eth portjai ossze vannak kapcsolva.

szerver (RHEL7);iperf version 2.0.8 (6 Mar 2015) pthreads
kliens: (debian 7.8);iperf version 2.0.5 (08 Jul 2010) pthreads

vhogy nem tudok 812Mbit/s nagyobb sebesseget kihozni a kliensen.
Letezik erre vmi magyarazat?

szerver:iperf --server --udp --bind xx.xx.xx.111
kliens:iperf --client xx.xx.xx.111 --udp --bandwidth 850M --time 1200

Koszonom elore a magyarazatokat, tippeket, javaslatokat.
ardi

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

mtu illetve txqueuelen mekkora?

Illetve simán a klienst -c -vel futtatva mekkora értéket kapsz?

---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"

kliensen:mtu 1500; txqueuelen:1000

mtu-t nyomd fel 9000-re :)

---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"

ezt hol allitom be ?
es mindket szerveren kell vagy csak a kliensen?

ip link set ethX mtu 9000

toljad mindkettőre, ha csak teszt szerver baj nem lehet.
A két gép direktbe van kötve?
Esetleg nézd meg az iperf3 csomagot is, így:
server: iperf3 -s
kliens: iperf3 -c $SERVER_IP

(rejtett sub)

szerk: tcp-vel megvan a sebesség, csak udp-vel nincs?

--------------------
http://grant-it.com/

nos, tesztszerverek, de nem szeretnem ujrainstallni mindkettot. :-)
iperf3-at feltettem mar a szerverre.
sajnos, a kliensen 7.8 alatt nincs ilyen csomag - talan, ha felmennek
upgrade-del debian 8.x-ra s utana tennem fel az iperf3-at.
de mindez csak proba lenne, vagy tenyleg segitene az iperf3?

Az mtu elállításából baj nem lesz, illetve ez amit fent írtam nem perzisztens egy reboot és visszáll a default érték. Iperf3 szinte tuti nem javít meg semmit csak emiatt ne legyen upgrade, csak kíváncsi voltam annak a sebességére.
A --bandwith miért pont annyi amennyi??
--------------------
http://grant-it.com/

nos azert, mert ha nem adok meg semmit, 1M-ra allitja.
es fokozatosan probaltam, meddig tudok -b parameterrel felmenni.
olyan 800-850 ertek meeg jo, magasabb erteknel nem ad tobbet 813-nal.

-P 10 -el Menni fog csak nem egy szálon első körben, ha úgy kell akkor pontosítani kell sok mindenen.

ez a -P 10 mire utal?
-P, --parallel n
number of parallel client threads to run

kiprobaltam:

kliens:
iperf --client xx.xx.xx.111 --udp --bandwidth 850M --time 60 -P 10

de a sebesseg igy sem valtozik...:-(

A kapcsolat feljött 10G-n? Ha rezes 10G, akkor előfordulhat, hogy rossz kábellel csak gigán jön fel a link.

optika

Izé: "kliens:iperf --client xx.xx.xx.111 --udp --bandwidth 850M --time 1200"

Ugye ezt a 850M -es limitet már kivetted azóta?

ha kiveszem a --bandwith 850M, akkor default 1M-ra allitja at.
ardi

Nekem még sosem kellett bandwith-et állítani iperf-nél. Igaz csak gigabit-ig teszteltem vele de nem volt 1M-s korlát.

talan verziofuggo es nem udp-vel hasznaltad....

850-es limitnél a 812 szerintem tök jó, nyilván nem lesz 8000.

--

ez igaz, viszont magasabb ertekeknel (900,1000,1500,2000) is csak 812-t ad :-)

CPU terhelés ? Bár nekem annó 2 első generációs microserver között kijött 7-8Gbit. Intel karikkal.

ethtool szerint megvan a 10GbE ?

Fedora 22, Thinkpad x220

megvan igen - mindket szerveren.

Ezt nézd már meg:
szerver: iperf -s
kliens: iperf -c server.ip -i5 -t60

Én kb ennyivel tesztelek, esetleg -d.

Fedora 22, Thinkpad x220

Gondolom, ez tcp es nem udp - ezt kaptam:

Szerver:
#iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local xx.xx.xx.111 port 5001 connected with xx.xx.xx.112 port 56945
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-60.0 sec 25.7 GBytes 3.67 Gbits/sec

Kliens:
# iperf -c xx.xx.xx.111 -i5 -t60
------------------------------------------------------------
Client connecting to xx.xx.xx.111, TCP port 5001
TCP window size: 23.5 KByte (default)
------------------------------------------------------------
[ 3] local xx.xx.xx.112 port 56945 connected with xx.xx.xx.111 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 5.0 sec 2.11 GBytes 3.63 Gbits/sec
[ 3] 5.0-10.0 sec 2.17 GBytes 3.73 Gbits/sec
[ 3] 10.0-15.0 sec 2.11 GBytes 3.63 Gbits/sec
[ 3] 15.0-20.0 sec 2.03 GBytes 3.49 Gbits/sec
[ 3] 20.0-25.0 sec 2.15 GBytes 3.70 Gbits/sec
[ 3] 25.0-30.0 sec 2.13 GBytes 3.66 Gbits/sec
[ 3] 30.0-35.0 sec 2.14 GBytes 3.68 Gbits/sec
[ 3] 35.0-40.0 sec 2.17 GBytes 3.73 Gbits/sec
[ 3] 40.0-45.0 sec 2.16 GBytes 3.71 Gbits/sec
[ 3] 45.0-50.0 sec 2.19 GBytes 3.77 Gbits/sec
[ 3] 50.0-55.0 sec 2.17 GBytes 3.73 Gbits/sec
[ 3] 55.0-60.0 sec 2.11 GBytes 3.63 Gbits/sec
[ 3] 0.0-60.0 sec 25.7 GBytes 3.67 Gbits/sec

Akkor ez jó, mármint olyan szempontból hogy 3.6Gbit megy át. Persze nem sokat tudok arról hogy direktbe vannak-e kötve vagy routeolva stb. TCP/UDP MTU size stb szóval lehet játszani, de ami lényeg megvan a gigabit felett az átvitel.

Fedora 22, Thinkpad x220

ertem - es engem is megnyugtatott, hogy legalabb tcp-ben
felmasztam 1G fole. :-)
vhogy ra kerne birnom vmi parameterrel, hogy udp alatt is mukodjon?

UDP az már érdekesebb, ugyanis most hirtelen néztem én is 2 gép között UDP forgalmat és nekem is 10mbit jött ki. Szóval lehet a iperf el lesz valami, de ha TCP vel megvan ami megvan akkor UDP vel is meglesz max nem iperffel mérvve :>

Fedora 22, Thinkpad x220

window size-t noveld meg:
-w, --window #[KMG] set window size / socket buffer size

Nem számít, viszont ha megadom hogy --bandwidth 1G, akkor olyan 880Mbit jön ki 2 gép között. Szóval UDP lehet meg kell adni a vonali sebességet ?

Bevallom én világ életemben TCP vel tesztelek, mert az kell.

Fedora 22, Thinkpad x220

iperf vagy iperf3-at hasznaltal es -b 1G mint parametert?
idekopiroznad a kliensen hasznalt parancsot?

sima iperf
szerver: iperf -s -u
kliens: iperf -c IP -i5 -t600 -b 1G -u

Fedora 22, Thinkpad x220

es a verzioszama?

iperf -v 2.0.5

Fedora 22, Thinkpad x220

koszi.

Talan megvan a "csodalatos" kombinacio?:

Megjegyzes: most -b (--bandwidth) ertekre 4000m erteket probaltam.

Miert kapok azonban a szerveren 90.5Mbits/sec erteket?


client # iperf -u -c xx.xx.xx.111 -w 16M -b 4000m -l 65000 -t 60
------------------------------------------------------------
Client connecting to xx.xx.xx.111, UDP port 5001
Sending 65000 byte datagrams
UDP buffer size: 32.0 MByte (WARNING: requested 16.0 MByte)
------------------------------------------------------------
[ 3] local xx.xx.xx.112 port 51203 connected with xx.xx.xx.111 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-60.0 sec 27.9 GBytes 4.00 Gbits/sec
[ 3] Sent 461521 datagrams
[ 3] Server Report:
[ 3] 0.0-60.0 sec 647 MBytes 90.5 Mbits/sec 0.037 ms 1/461520 (0.00022%)
[ 3] 0.0-60.0 sec 1 datagrams received out-of-order
client #

[root@server traces]# iperf --server --udp --bind xx.xx.xx.111
------------------------------------------------------------
Server listening on UDP port 5001
Binding to local address xx.xx.xx.111
Receiving 1470 byte datagrams
UDP buffer size: 16.0 MByte (default)
------------------------------------------------------------
[ 3] local xx.xx.xx.121 port 5001 connected with xx.xx.xx.122 port 51203
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-60.0 sec 647 MBytes 90.5Mbits/sec 0.038 ms 1/461520 (0.00022%)
[ 3] 0.00-60.00 sec 1 datagrams received out-of-order

client # ifload eth2
Stats for eth2 at 1 seconds interval
Press [CTRL]+[C] to stop.

RX= 0 Mb/s TX= 24 Mb/s RX= 0 b/s TX= 25537536 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121651904 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120164816 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121119872 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120007360 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121059312 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120587840 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120080032 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121627680 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121676128 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120587840 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122159712 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120055808 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120587840 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120055808 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121144096 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120708960 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122038592 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122715968 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121400120 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4120950304 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121010864 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121651904 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120587840 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120587840 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120793744 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 480 b/s TX=4120938528 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121627680 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120587840 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120587840 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122715968 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122715968 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120080032 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122691744 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122183936 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120116368 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122123376 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121651904 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122715968 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121119872 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121119872 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121035984 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121735792 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122027376 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121808464 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121568016 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121203760 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121651904 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120890640 b/s
RX= 0 Mb/s TX=3932 Mb/s RX= 0 b/s TX=4123478904 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122208160 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121095648 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4120963312 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120744400 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120516064 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 480 b/s TX=4122352944 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120490944 b/s
RX= 0 Mb/s TX=3724 Mb/s RX= 12096 b/s TX=3905114880 b/s
RX= 0 Mb/s TX= 0 Mb/s RX= 0 b/s TX= 0 b/s
RX= 0 Mb/s TX= 0 Mb/s RX= 0 b/s TX= 0 b/s
RX= 0 Mb/s TX= 0 Mb/s RX= 0 b/s TX= 0 b/s
RX= 0 Mb/s TX= 0 Mb/s RX= 0 b/s TX= 0 b/s
RX= 0 Mb/s TX= 0 Mb/s RX= 480 b/s TX= 336 b/s
RX= 0 Mb/s TX= 0 Mb/s RX= 0 b/s TX= 0 b/s
RX= 0 Mb/s TX= 0 Mb/s RX= 0 b/s TX= 0 b/s
RX= 0 Mb/s TX= 0 Mb/s RX= 0 b/s TX= 0 b/s
RX= 0 Mb/s TX= 0 Mb/s RX= 0 b/s TX= 0 b/s
RX= 0 Mb/s TX= 0 Mb/s RX= 0 b/s TX= 0 b/s
RX= 0 Mb/s TX= 0 Mb/s RX= 0 b/s TX= 0 b/s^C
client #

Az rxsum, txsum és mindenféle offloadok bekapcsolva? A CPU mennyi pörög amikor tekered kifelé a csomagokat?

ezeket nem ertem - segitenel picit?

ertekek az utolso parancs futasanal
( iperf -u -c xx.xx.xx.111 -w 16M -b 4000m -l 65000 -t 60)

Tasks: 535 total, 2 running, 533 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.0 us, 0.0 sy, 0.0 ni, 99.7 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.0 us, 0.3 sy, 0.0 ni, 99.3 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu5 : 0.0 us, 1.3 sy, 0.0 ni, 98.0 id, 0.7 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu6 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu7 : 9.6 us, 37.6 sy, 0.0 ni, 37.6 id, 0.0 wa, 0.0 hi, 15.2 si, 0.0 st
%Cpu8 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu9 : 2.7 us, 12.1 sy, 0.0 ni, 85.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu10 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu11 : 0.3 us, 13.1 sy, 0.0 ni, 86.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16154600 total, 4598224 free, 243308 used, 11313068 buff/cache

Mara mar eleg - holnap folytatom.
Koszonom mindenkinek a segitseget!
ardi

Sziasztok,
A kovetkezo paranccsal sikerult jobb eredmenyeket kapnom:


client # iperf -u -c xx.xx.xx.111 -w 16M -b 4000m -l 65000 -t 60
------------------------------------------------------------
Client connecting to xx.xx.xx.111, UDP port 5001
Sending 65000 byte datagrams
UDP buffer size: 32.0 MByte (WARNING: requested 16.0 MByte)
------------------------------------------------------------
[ 3] local xx.xx.xx.112 port 52612 connected with xx.xx.xx.111 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-60.0 sec 27.9 GBytes 4.00 Gbits/sec
[ 3] Sent 461512 datagrams
[ 3] Server Report:
[ 3] 0.0-60.0 sec 27.9 GBytes 4.00 Gbits/sec 0.042 ms 0/461511 (0%)
[ 3] 0.0-60.0 sec 1 datagrams received out-of-order
client #

[root@server ~]# iperf -u -s -w 16M -l 65000
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 65000 byte datagrams
UDP buffer size: 32.0 MByte (WARNING: requested 16.0 MByte)
------------------------------------------------------------
[ 3] local xx.xx.xx.111 port 5001 connected with xx.xx.xx.112 port 48569
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-60.0 sec 27.9 GBytes 4.00 Gbits/sec 0.067 ms 1/461513 (0.00022%)
[ 3] 0.00-60.00 sec 1 datagrams received out-of-order
[ 4] local xx.xx.xx.121 port 5001 connected with xx.xx.xx.122 port 52612
[ 4] 0.0-60.0 sec 27.9 GBytes 4.00 Gbits/sec 0.043 ms 0/461511 (0%)
[ 4] 0.00-60.00 sec 1 datagrams received out-of-order

client # ifload eth2
Stats for eth2 at 1 seconds interval
Press [CTRL]+[C] to stop.

RX= 0 Mb/s TX= 24 Mb/s RX= 0 b/s TX= 25453648 b/s
RX= 0 Mb/s TX=3928 Mb/s RX= 0 b/s TX=4119607664 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121095648 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121651904 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121119872 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121797248 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4120974528 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122100048 b/s
RX= 0 Mb/s TX=3930 Mb/s RX= 0 b/s TX=4121941696 b/s
RX= 0 Mb/s TX=3929 Mb/s RX= 0 b/s TX=4120381936 b/s
RX= 0 Mb/s TX=3931 Mb/s RX= 0 b/s TX=4122909760 b/s

Ctrl+C

Majd -w 32M es -b 10000m parameterrel max 6.75Gbits/sec erteket kaptam.
Sajnos, mar 24%-os a veszteseg.

Most ezzel probalkozom (-b 6500m, ha mar 6.75 Gbits/sec a maximum):

Szerver: iperf -u -s -w 32M -l 65000
Client: iperf -u -c xx.xx.xx.111 -w 32M -b 6500m -l 65000 -t 600

Uj:
megment a fenti parancs - eredmeny:

[ 3] 0.0-600.0 sec 449 GBytes 6.43 Gbits/sec 0.035 ms 61229/7480988 (0.82%)
[ 3] 0.0-600.0 sec 644 datagrams received out-of-order