もがもがしいブログ

もがもがしく生きる

続・IEEE802.11ac Draft版準拠ルータ WZR-1750DHPの通信速度をテストする

前回の記事
IEEE802.11ac Draft版準拠ルータ WZR-1750DHPの通信速度をテストしたかった - もがもがしいSEブログ
があまりにアレだったので、どうしたものかと考えあぐねていたところ、
@caplioさんからiperfというツールを勧められたので試してみました。
調べたところ、iperfはメモリ間の転送速度を計測するので、HDDがボトルネックになることはないようです。

新しい計測方法は以下の通り。

  • iperfでTCP/UDPのパケットを10秒間×5回送信し、受信側の速度を測定。


PCのスペックは前回と同じですが、一応再掲。

  • 左側…自作PCCore i5 3570, DDR3-1600 8GBx2)
  • 右側…Let's Note CF-S10(Core i5 2540M, DDR3-1066 4GB)

自作PCのアイコンがノートPCになってるのは気にしないでくださいw


構成1

f:id:moga_shi:20130401004736p:plain

まずは有線接続から。右側のPC(Let's Note)から左側のPC(自作PC)に送信します。

$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 50662
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec   742 MBytes   622 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 50664
[  4]  0.0-10.0 sec   768 MBytes   644 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 50665
[  4]  0.0-10.0 sec   791 MBytes   663 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 50666
[  4]  0.0-10.0 sec   772 MBytes   647 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 50667
[  4]  0.0-10.0 sec   802 MBytes   673 Mbits/sec

$ iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 52112
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec   0.001 ms    0/  893 (0%)

TCPで620~670Mbps、UDPで1Mbps。
UDPが異常に遅いですね。
帯域幅のデフォルトが1Mbpsになってるからかなと思って、送信側に -b 2000M のオプションを付けて再計測。


$ iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 49690
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec   933 MBytes   783 Mbits/sec   0.060 ms 1769/667521 (0.27%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 49691
[  4]  0.0-10.0 sec   914 MBytes   767 Mbits/sec   0.008 ms 7392/659488 (1.1%)
[  4]  0.0-10.0 sec  1 datagrams received out-of-order
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 49692
[  3]  0.0-10.0 sec   944 MBytes   792 Mbits/sec   0.020 ms  999/674085 (0.15%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 49693
[  4]  0.0-10.0 sec   949 MBytes   796 Mbits/sec   0.060 ms  807/678055 (0.12%)
[  4]  0.0-10.0 sec  1 datagrams received out-of-order
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 49694
[  3]  0.0-10.0 sec   943 MBytes   791 Mbits/sec   0.059 ms  870/673581 (0.13%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order

770~800Mbpsくらいになりました。
それらしい値が出たので次からは同じオプションを使って計測します。


2013/04/10追記:
【清水理史の「イニシャルB」】 NECアクセステクニカ「AtermWG1800HP」VS バッファロー「WZR-1750DHP」 - INTERNET Watch
の記事の計測方法通り、サーバ側で

iperf -s -w <TCPウィンドウサイズ>

クライアント側で

iperf -c <サーバ側IPアドレス> -w <TCPウィンドウサイズ>

を実行してTCPのウィンドウサイズを256KBや4MBに変更したところ、通信速度の計測値が改善しました。
実行結果を載せると長くなるので、記事の最後のグラフに反映します。


構成2

f:id:moga_shi:20130401005058p:plain

右側のPCから左側のPCに、11acで送信します。

$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.10 port 50616
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  80.8 MBytes  67.6 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.10 port 50617
[  4]  0.0-10.0 sec  90.5 MBytes  75.8 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.10 port 50618
[  4]  0.0-10.0 sec  92.4 MBytes  77.4 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.10 port 50619
[  4]  0.0-10.0 sec  55.2 MBytes  46.2 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.10 port 50620
[  4]  0.0-10.2 sec  92.2 MBytes  75.7 Mbits/sec

$ iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.10 port 56657
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec   259 MBytes   217 Mbits/sec   0.140 ms  621/185156 (0.34%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.10 port 52857
[  4]  0.0-10.0 sec   262 MBytes   220 Mbits/sec   0.127 ms  331/187315 (0.18%)
[  4]  0.0-10.0 sec  1 datagrams received out-of-order
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.10 port 52858
[  3]  0.0-10.0 sec   259 MBytes   217 Mbits/sec   0.011 ms    0/184873 (0%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.10 port 52859
[  4]  0.0-10.0 sec   261 MBytes   219 Mbits/sec   0.217 ms   47/185996 (0.025%)
[  4]  0.0-10.0 sec  1 datagrams received out-of-order
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.10 port 52860
[  3]  0.0-10.0 sec   258 MBytes   217 Mbits/sec   0.157 ms  151/184506 (0.082%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order

TCPは65~75Mbps、UDPは220Mbpsくらい。


構成3

f:id:moga_shi:20130401010256p:plain

2台のPCをルータに有線で接続し、ルータ同士を2.4GHz + 5GHzの同時使用でつないだ構成。

$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 50699
[ ID] Interval       Transfer     Bandwidth

[  4]  0.0-10.0 sec   181 MBytes   152 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 50700
[  4]  0.0-10.0 sec   181 MBytes   151 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 50702
[  4]  0.0-10.0 sec   184 MBytes   154 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 50706
[  4]  0.0-10.0 sec   186 MBytes   156 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 50707
[  4]  0.0-10.0 sec   181 MBytes   151 Mbits/sec

$ iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 61804
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams

[  3]  0.0-10.0 sec   819 MBytes   685 Mbits/sec   0.066 ms 100875/684943 (15%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 61805
[  4]  0.0-10.3 sec   837 MBytes   685 Mbits/sec  13.589 ms 95986/693305 (14%)
[  4]  0.0-10.3 sec  1 datagrams received out-of-order
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 61806
[  3]  0.0-10.0 sec   804 MBytes   672 Mbits/sec   0.367 ms 119657/693048 (17%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 61807
[  4]  0.0-10.0 sec   804 MBytes   672 Mbits/sec   0.075 ms 117589/691152 (17%)
[  4]  0.0-10.0 sec  1 datagrams received out-of-order
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.99 port 61808
[  3]  0.0-10.0 sec   835 MBytes   698 Mbits/sec   0.110 ms 96913/692708 (14%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order

TCPで150Mbps、UDPで670~700Mbps。


構成4

f:id:moga_shi:20130401011201p:plain

$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.11 port 51116
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  48.5 MBytes  40.6 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.11 port 51117
[  4]  0.0-10.3 sec  30.0 MBytes  24.5 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.11 port 51118
[  4]  0.0-10.0 sec  59.4 MBytes  49.7 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.11 port 51119
[  4]  0.0-10.0 sec  43.4 MBytes  36.3 Mbits/sec
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.11 port 51120
[  4]  0.0-10.0 sec  49.5 MBytes  41.5 Mbits/sec

$ iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 64.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.11 port 58049
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams

[  3]  0.0-10.0 sec   179 MBytes   150 Mbits/sec   0.130 ms    0/127534 (0%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.11 port 58050
[  4]  0.0-10.0 sec   175 MBytes   147 Mbits/sec   0.103 ms   20/125107 (0.016%)
[  4]  0.0-10.0 sec  1 datagrams received out-of-order
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.11 port 58051
[  3]  0.0-10.0 sec   178 MBytes   149 Mbits/sec   0.100 ms    0/127115 (0%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order
[  4] local 192.168.11.9 port 5001 connected with 192.168.11.11 port 58052
[  4]  0.0-10.0 sec   174 MBytes   146 Mbits/sec   0.178 ms   29/124125 (0.023%)
[  4]  0.0-10.0 sec  1 datagrams received out-of-order
[  3] local 192.168.11.9 port 5001 connected with 192.168.11.11 port 58053
[  3]  0.0-10.0 sec   173 MBytes   146 Mbits/sec   0.092 ms    0/123745 (0%)
[  3]  0.0-10.0 sec  1 datagrams received out-of-order

TCPで40Mbps、UDPで150Mbps。
構成2に比べて転送速度が3分の2程度に下がってしまっているのは、ルータをかませたことが原因でしょうか。
壁や天井の影響がそこまでひどくないのであれば、親機に直接つないだ方が速度が出そうです。

ちなみに、壁を1枚挟んだ状態で”左側PC←(有線)←ルータ←(無線11ac)←右側PC”の構成を試したところ、
TCPで45Mbps、UDPで160Mbpsくらいでした。


比較

最後に構成別の測定結果(中央値)をグラフにして掲載します。

f:id:moga_shi:20130410002508p:plain

全体的に、無線を経由すると速度が低下するようですね。
バッファローの測定結果では11acで最低でも500Mbpsは出ていたらしいですが・・・。
ただ、自分の測定方法がいい加減なので、メモリやバスなどの転送速度がボトルネックになっていたり、
ルータの設定方法が甘かったりして、やり方によってはもっと好成績を出せるのかもしれません。

まだひよっこSEなもので、ここをこうしたらいいよ!っていうアドバイスがあればお願いします。
興味を惹くものがあれば、ぜひ人柱としてIYH!!!させていただきますw

2013/04/10追記:
iperfにウィンドウサイズのオプションを追加したところ、計測値が劇的に改善しました。
ファイルの転送速度が、構成2でおよそ130Mbps、構成3でおよそ400Mbpsなので、感覚には割と合っています。
PCとルータ間を無線で接続した時の通信速度低下が気になりますが、今後のファームウェアアップデート等で
改善されていくのかもしれません。