2018/01/27

10GbEを確認する際にWindows上でのiperf3は気にしない方が良い?

先日買った10Gbセット(NIC+HUB)が届いたので早速インストール。
早速ベンチを・・・とったらiperf3で4Gb位しか出ない。
???
ということで、確認中

試したこと:
・iperf3.1.3を32/64bit両方でやってみる
→大した変化なし
・TCPOptimizer4でoptimizeしてみる
→大した効果なし
・driverでjumboframeや割り込み加減率を変えてみる
→大した効果なし
・iperfのオプションを-M,-l,-wとかいろいろ弄ってみる
→大した効果なし
・電源設定をハイパフォーマンスにしてみる
→大した効果なし
・iperfで-P4とかしてみる
→全部で7Gbpsぐらいまでは増えるが・・・
・iperf -c localhostでそもそもの帯域を確認してみる
→Win2008R2鯖で10Gbps、Win10で5Gbps程度!?意味が分からん
・Windows10のクリーンインストール
→結果変わらず
・同じマシンにUbuntsu(物理)をインストールしていろいろ確認
-ubuntsu(物理)からdebian(Win鯖のHyper-V上)へのiperf:これ位出ればいいよね(リトライが気になるけど)
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-30.00 sec 28.9 GBytes 8.28 Gbits/sec 1884 sender
[ 4] 0.00-30.00 sec 28.9 GBytes 8.28 Gbits/sec receiver
CPU Utilization: local/sender 17.2% (0.4%u/16.8%s), remote/receiver 9.1% (0.7%u/8.4%s)
-debian(Win鯖のHyper-V上)からubuntsu(物理)へのiperf:なんか遅くね?
[ 4] 0.00-30.00 sec 13.1 GBytes 3.75 Gbits/sec 36 sender
[ 4] 0.00-30.00 sec 13.1 GBytes 3.75 Gbits/sec receiver
CPU Utilization: local/receiver 14.8% (0.8%u/14.0%s), remote/sender 1.5% (0.1%u/1.4%s)
-ubuntsu(物理)からWin鯖(ホスト)へのiperf:まぁ許容範囲
[ 4] 0.00-30.00 sec 25.5 GBytes 7.30 Gbits/sec 0 sender
[ 4] 0.00-30.00 sec 25.5 GBytes 7.30 Gbits/sec receiver
CPU Utilization: local/sender 17.1% (0.9%u/16.2%s), remote/receiver 2.3% (0.4%u/1.8%s)
-Win鯖(ホスト)からubuntsu(物理)へのiperf:これくらい出ればよいのに
[ 4] 0.00-30.00 sec 29.1 GBytes 8.32 Gbits/sec sender
[ 4] 0.00-30.00 sec 29.1 GBytes 8.32 Gbits/sec receiver
CPU Utilization: local/receiver 28.9% (1.3%u/27.5%s), remote/sender 33.7% (8.0%u/25.7%s)
-Win10(物理)からWin鯖(ホスト)へのiperf:いや、おかしいって
[ 4] 0.00-30.00 sec 12.9 GBytes 3.69 Gbits/sec sender
[ 4] 0.00-30.00 sec 12.9 GBytes 3.69 Gbits/sec receiver
CPU Utilization: local/sender 33.6% (2.8%u/30.8%s), remote/receiver 7.0% (1.7%u/5.3%s)
-Win鯖(ホスト)からWin10(物理):だからおかしいって
[ 4] 0.00-30.00 sec 16.1 GBytes 4.61 Gbits/sec sender
[ 4] 0.00-30.00 sec 16.1 GBytes 4.61 Gbits/sec receiver
CPU Utilization: local/receiver 81.0% (25.3%u/55.7%s), remote/sender 23.5% (5.9%u/17.6%s)
→Windows同士のiperfが有意に遅い
→Windowsからの送信時、CPUを異様に占有している

・Win同士でファイルコピーしてみる
→500~600MB/s程度(ローカルでの読み書きMAX)は出るから実質問題はない

結論:Windows上のiperf3は信用してはいけない、もしくは何か(バイナリか環境か)おかしいのでは?
実使用上問題ないし、H/Wに問題があるわけでもなさそうなので、気にしない(見なかったこと)ことにしよう!

それにしても、最近のOSインストールはとても楽になりましたね。
「試しに」クリーンインストールするのが1Hrも待たずに済みます。


参考に、いろいろなマシンでiperf3 -c localhost -V をしてみた。

QNAP TS451A(Celeron N3060):
-----------------------------------------------------------------------------------------------
Linux 4.2.8 #1 SMP Sat Dec 30 06:01:19 CST 2017 x86_64
Connecting to host 127.0.0.1, port 5201
TCP MSS: 21888 (default)
[ 4] local 127.0.0.1 port 45804 connected to 127.0.0.1 port 5201
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 13.4 GBytes 11.5 Gbits/sec 0 sender
[ 4] 0.00-10.00 sec 13.4 GBytes 11.5 Gbits/sec receiver
CPU Utilization: local/sender 93.4% (0.8%u/92.6%s), remote/receiver 28.4% (0.6%u/27.8%s)
-----------------------------------------------------------------------------------------------

i7-2600K Hyper-V上のdebian
-----------------------------------------------------------------------------------------------
Linux 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64
Connecting to host localhost, port 5201
TCP MSS: 21888 (default)
[ 4] local 127.0.0.1 port 47654 connected to 127.0.0.1 port 5201
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 56.3 GBytes 48.3 Gbits/sec 0 sender
[ 4] 0.00-10.00 sec 56.3 GBytes 48.3 Gbits/sec receiver
CPU Utilization: local/sender 81.5% (4.0%u/77.5%s), remote/receiver 13.4% (1.1%u/12.3%s)

i7-2600K ↑のホスト Win2008R2
-----------------------------------------------------------------------------------------------
iperf 3.1.3
CYGWIN_NT-6.1 2.5.1(0.297/5/3) 2016-04-21 22:14 x86_64
Connecting to host localhost, port 5201
TCP MSS: 0 (default)
[ 4] local ::1 port 49285 connected to ::1 port 5201
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.02 sec 10.9 GBytes 9.34 Gbits/sec sender
[ 4] 0.00-10.02 sec 10.9 GBytes 9.34 Gbits/sec receiver
CPU Utilization: local/sender 99.1% (1.6%u/97.5%s), remote/receiver 50.1% (7.5%u/42.6%s)

この時点で何かおかしい。

i7-4790K Win10
-----------------------------------------------------------------------------------------------
iperf 3.1.3
CYGWIN_NT-10.0 2.5.1(0.297/5/3) 2016-04-21 22:14 x86_64
Time: Sat, 27 Jan 2018 03:30:22 GMT
Connecting to host localhost, port 5201
TCP MSS: 0 (default)
[ 4] local ::1 port 3322 connected to ::1 port 5201
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 4.71 GBytes 4.05 Gbits/sec sender
[ 4] 0.00-10.00 sec 4.71 GBytes 4.05 Gbits/sec receiver
CPU Utilization: local/sender 97.1% (0.8%u/96.3%s), remote/receiver 0.1% (0.0%u/0.1%s)

これはもう致命的におかしい。
Hyper-Vでは問題ないということはcygwinの問題とか?


うーむ・・・・
とりあえずi7-4790Kのwindows10を別のhddにクリーンインストールしてみた結果も10Gb位。
Firewallを無効にしてみたけど変わらず。
同一マシンにubuntsuを入れてみた結果は80Gbps位。これはWindowsが何かおかしいとしか。

参考:
10GBe Merry performance - am I missing something?
Running over CAT5e through switch, CAT5e patch panel and wall socket to my PC I'm registering 8.9Gbps both ways on iperf.
My issues were being caused by bitdefender blocking traffic.
SMB file transfers are at about 700-800MB/s.
Biggest impact was gained by reducing interrupt moderation and jumbo frames.

とか書いてあるけど自分の環境では大した効果なかkったし・・・

0 件のコメント:

コメントを投稿