NASとclient PC間のネットワーク速度を計測しよう

### NASとPCとのネットワーク速度を計測します。

回線速度の測定はリソースの能力を最大化することができます。
環境の実体把握ができます。
使うツールはiperfです。
iperfはLAN工事をやったあとの性能テストなどにも使えます。

### iperfでのNASの性能測定結果

* 2.5Gbpsのときは819 Mbits/sec
* 10Gbpsのときは3.06 Gbits/sec
* 2スレッドのときは6.12 Gbits/sec
* Mac miniのオンボードの10G NICで測定した場合 4.35 Gbits/sec

どこかで回線速度が落ちている気がしています。
経路で挙動が変わるので多分NICの限界かスイッチかルーターかLANケーブルかな。
PC側の10Gbps NICを刺し変えるとの性能がかなり数字に現れます。1Gbps位変化あり。
調整すればまだまだ早くできそうです。

### 用意するハード

1. QNAP NAS に2.5GのNICと10GのNICを用意しました。
2. Windows10のPCと10GのNICを用意しました。

テスト環境
PC->2.5Gbps回線->NAS (192.168.15.x)
PC->10Gbps回線->NAS (192.168.2.x)

### インストールするソフト
1. QNAP NASにiperfアプリをインストールします。
qnapclubのリポジトリからiperfアプリをインストールします。
qnapclubのリポジトリは以下のURLです。
https://qnapclub.eu/en/repo.xml
NASへのリポジトリの追加手順は以下のURLにあります。
https://qnapclub.eu/en/howto/1
このリポジトリには他にも色々とアプリがあるので色々試してみるといいかもしれません。

2. Windows10にiperf3.exeを入れます。
https://iperf.fr/iperf-download.php
コマンドプロンプトからの実行例はいかの通りです。
iperf3 -c 192.168.2.109

### 実行結果 NASの2.5Gbps側のLan portで計測した場合

```
C:\iperf-3.1.3-win64>iperf3.exe -c 192.168.15.109
Connecting to host 192.168.15.109, port 5201
[  4] local 192.168.2.19 port 52768 connected to 192.168.15.109 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  97.2 MBytes   815 Mbits/sec
[  4]   1.00-2.00   sec  93.0 MBytes   780 Mbits/sec
[  4]   2.00-3.00   sec   105 MBytes   883 Mbits/sec
[  4]   3.00-4.00   sec   103 MBytes   862 Mbits/sec
[  4]   4.00-5.00   sec  97.9 MBytes   821 Mbits/sec
[  4]   5.00-6.00   sec  92.8 MBytes   778 Mbits/sec
[  4]   6.00-7.00   sec  92.8 MBytes   778 Mbits/sec
[  4]   7.00-8.00   sec  98.0 MBytes   822 Mbits/sec
[  4]   8.00-9.00   sec  96.4 MBytes   808 Mbits/sec
[  4]   9.00-10.00  sec   101 MBytes   844 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   977 MBytes   819 Mbits/sec                  sender
[  4]   0.00-10.00  sec   976 MBytes   819 Mbits/sec                  receiver

iperf Done.
```

### NASの10Gbps側のLan portで計測した場合

```
C:\iperf-3.1.3-win64>iperf3.exe -c 192.168.2.109
Connecting to host 192.168.2.109, port 5201
[  4] local 192.168.2.19 port 52807 connected to 192.168.2.109 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   365 MBytes  3.06 Gbits/sec
[  4]   1.00-2.00   sec   366 MBytes  3.08 Gbits/sec
[  4]   2.00-3.00   sec   360 MBytes  3.01 Gbits/sec
[  4]   3.00-4.00   sec   367 MBytes  3.08 Gbits/sec
[  4]   4.00-5.00   sec   365 MBytes  3.06 Gbits/sec
[  4]   5.00-6.00   sec   364 MBytes  3.05 Gbits/sec
[  4]   6.00-7.00   sec   368 MBytes  3.09 Gbits/sec
[  4]   7.00-8.00   sec   367 MBytes  3.08 Gbits/sec
[  4]   8.00-9.00   sec   368 MBytes  3.09 Gbits/sec
[  4]   9.00-10.00  sec   363 MBytes  3.04 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  3.57 GBytes  3.06 Gbits/sec                  sender
[  4]   0.00-10.00  sec  3.57 GBytes  3.06 Gbits/sec                  receiver

iperf Done.
```

### -P2 オプションで2スレッドにした場合

```
C:\iperf-3.1.3-win64>iperf3 -P2 -c 192.168.2.109
Connecting to host 192.168.2.109, port 5201
[  4] local 192.168.2.19 port 64803 connected to 192.168.2.109 port 5201
[  6] local 192.168.2.19 port 64804 connected to 192.168.2.109 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   371 MBytes  3.11 Gbits/sec
[  6]   0.00-1.00   sec   363 MBytes  3.04 Gbits/sec
[SUM]   0.00-1.00   sec   734 MBytes  6.16 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   1.00-2.00   sec   371 MBytes  3.11 Gbits/sec
[  6]   1.00-2.00   sec   362 MBytes  3.04 Gbits/sec
[SUM]   1.00-2.00   sec   734 MBytes  6.15 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   2.00-3.00   sec   363 MBytes  3.05 Gbits/sec
[  6]   2.00-3.00   sec   358 MBytes  3.00 Gbits/sec
[SUM]   2.00-3.00   sec   721 MBytes  6.05 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   3.00-4.00   sec   371 MBytes  3.11 Gbits/sec
[  6]   3.00-4.00   sec   363 MBytes  3.04 Gbits/sec
[SUM]   3.00-4.00   sec   734 MBytes  6.16 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   4.00-5.00   sec   369 MBytes  3.10 Gbits/sec
[  6]   4.00-5.00   sec   366 MBytes  3.07 Gbits/sec
[SUM]   4.00-5.00   sec   735 MBytes  6.17 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   5.00-6.00   sec   361 MBytes  3.03 Gbits/sec
[  6]   5.00-6.00   sec   353 MBytes  2.96 Gbits/sec
[SUM]   5.00-6.00   sec   715 MBytes  5.99 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   6.00-7.00   sec   369 MBytes  3.09 Gbits/sec
[  6]   6.00-7.00   sec   346 MBytes  2.90 Gbits/sec
[SUM]   6.00-7.00   sec   714 MBytes  5.99 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   7.00-8.00   sec   371 MBytes  3.11 Gbits/sec
[  6]   7.00-8.00   sec   370 MBytes  3.10 Gbits/sec
[SUM]   7.00-8.00   sec   740 MBytes  6.21 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   8.00-9.00   sec   370 MBytes  3.11 Gbits/sec
[  6]   8.00-9.00   sec   363 MBytes  3.04 Gbits/sec
[SUM]   8.00-9.00   sec   733 MBytes  6.15 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[  4]   9.00-10.00  sec   369 MBytes  3.09 Gbits/sec
[  6]   9.00-10.00  sec   366 MBytes  3.07 Gbits/sec
[SUM]   9.00-10.00  sec   734 MBytes  6.16 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  3.60 GBytes  3.09 Gbits/sec                  sender
[  4]   0.00-10.00  sec  3.60 GBytes  3.09 Gbits/sec                  receiver
[  6]   0.00-10.00  sec  3.52 GBytes  3.03 Gbits/sec                  sender
[  6]   0.00-10.00  sec  3.52 GBytes  3.03 Gbits/sec                  receiver
[SUM]   0.00-10.00  sec  7.12 GBytes  6.12 Gbits/sec                  sender
[SUM]   0.00-10.00  sec  7.12 GBytes  6.12 Gbits/sec                  receiver

iperf Done.

```

### Mac miniのオンボードの10G NICで測定した場合

```
C:\iperf-3.1.3-win64>iperf3 -c 192.168.2.109
Connecting to host 192.168.2.109, port 5201
[  4] local 192.168.2.21 port 56395 connected to 192.168.2.109 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   500 MBytes  4.19 Gbits/sec
[  4]   1.00-2.00   sec   502 MBytes  4.21 Gbits/sec
[  4]   2.00-3.00   sec   508 MBytes  4.26 Gbits/sec
[  4]   3.00-4.00   sec   517 MBytes  4.34 Gbits/sec
[  4]   4.00-5.00   sec   519 MBytes  4.35 Gbits/sec
[  4]   5.00-6.00   sec   525 MBytes  4.41 Gbits/sec
[  4]   6.00-7.00   sec   538 MBytes  4.51 Gbits/sec
[  4]   7.00-8.00   sec   532 MBytes  4.46 Gbits/sec
[  4]   8.00-9.00   sec   529 MBytes  4.44 Gbits/sec
[  4]   9.00-10.00  sec   520 MBytes  4.37 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  5.07 GBytes  4.35 Gbits/sec                  sender
[  4]   0.00-10.00  sec  5.07 GBytes  4.35 Gbits/sec                  receiver

iperf Done.
```




### その他

mac mini 2018でテストしたのですがこれのオンボードの10G NICが調子悪いです。
それで
Macs FAN Controlアプリを入れてファンを3500回転/分固定で回すとある程度改善されます。
どうやらmac miniの筐体内部の温度が上がるとNICのチップが壊れるようです。
一旦壊れてしまうとLANケーブルを抜き差ししても直りません。
このオンボードNICは使うとかなり不安定です。
10G NICは封印し外付けにしたほうがいいと思いました。
今はthunderbolt3に外付けNICです。

### QNAP NAS
QNAPのNASは超高機能でスマホみたいにアプリを入れると色んなものに化けます。
ファイル置き場だけに使うのはもったいないくらいです。
DBサーバーなんかにもできるらしいです。
かなり重宝しています。
このNASを使ってGrocyを導入し細かく自宅の在庫管理なんかもやれるらしいです。
ご家庭でERPを使う時代が来たかもしれません。

### 10Gbpsの回線の遅さ

普通使用だとNASと3Gbpsで通信できれば十分かなとは思います。
がしかし開発とかyoutube動画編集で動画保存用途とかに使うにはかなり貧弱かもと。
10Gbps程度の環境はすでに時代遅れかもしれません。
現状の最高性能のSSDで7000MB/s
これをNAS環境で活かすには100G NICをPCなんかに入れて使うほうが良いい感じ
もします。お金をそれなりにかければ構築できると思います。
一番安いL3 100Gスイッチで40万円位から売られているので
スイッチを中心に周りを揃えていけば家庭内100Gbpsも余裕で実現可能でしょう。