5GbEで直接接続したNASとWindowsの転送速度を計測する
やりたいこと
環境
ネットワーク
NASとPCは1GbEでもハブを介してつながっている
ハードウェア
TS-453mini RAID 5 HDD x4(IronWolf 6TB、WD RED 3TB x3 すべて5400rpm)
結果
右のときのNAS側のモニタリングデータ
シーケンシャルWriteが参考サイト(以下)よりだいぶ遅い。なんで?
A. CDMが昔のバージョンなのでデフォルトの計測パラメーターが違うから
計測の基準を揃えるとこうなる。キューが多いときのSeq Write(Q32 T1)が遅い
左:MTU 1500 / 右: MTU 9000
考察
Cerelon J1900だとさばききれていない?
Jumbo framesは貧弱なCPUで効果があるはず
Jumbo framesは必須かもしれない
QNAPのサイトに最適なパフォーマンスを確保するためとわざわざ書いてあるのはこのためかな?
> 1. ローカルネットワーク環境のデバイスすべてのJumbo FramesをMTU 9000に設定することを推奨します。
ジャンボフレームを利用しないなら最も早いシーケンシャルリードで1.6Gbps程度なので2.5GbEで十分
NASもっといいCPU積んだらさらに速度出るかも
実際にはQ1T1の値が重要なようで、そうすると2.3Gbps程度なのだから2.5GbEで十分
SSDを注文したので、今後さらに速度が上がることを期待
ネットワークの設定、めんどくさいなー
ジャンボフレームがきくとなると、VLANの設定をする必要が出てくるようだ。L3スイッチなんて普通のおうちにはないと思うんですけど(名推理)
設定方法
MTUを9000にする
NAS側
Windows側
この設定をしないと、ジャンボフレームの設定が反映されない
この設定だけでMTUが9014KBになるのかと思ったがどうもそうではないようだ
インタフェースのMTUを変更する
cmdREM 管理者権限のcmd.exeで実施する。そうしないと一部コマンドが失敗する。
REM 今後のためにQNA-UC5G1Tに割り当てられたIPアドレスを確認しておく
> ipconfig/all
(省略)
イーサネット アダプター イーサネット 5:
接続固有の DNS サフィックス . . . . .:
説明. . . . . . . . . . . . . . . . .: QNAP QNA-UC5G1T USB to 5GbE Adapter
物理アドレス. . . . . . . . . . . . .: (省略)
DHCP 有効 . . . . . . . . . . . . . .: はい
自動構成有効. . . . . . . . . . . . .: はい
リンクローカル IPv6 アドレス. . . . .: (省略)
自動構成 IPv4 アドレス. . . . . . . .: 169.254.223.34(優先)
REM このアドレスはNASのinterfacesのIPアドレスとは異なる(別の機材)
サブネット マスク . . . . . . . . . .: 255.255.0.0
デフォルト ゲートウェイ . . . . . . .:
REM NA-UC5G1TのIDを調べる
> route print
===========================================================================
インターフェイス一覧
68...(物理アドレスが表示される) ......QNAP QNA-UC5G1T USB to 5GbE Adapter
===========================================================================
IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック
169.254.223.34 255.255.255.255 リンク上 169.254.223.34 276
REM ついでにQNA-UC5G1Tの現在のルートは↑のように設定されていることを確認
REM ID 68に設定されているMTUを確認する
>netsh interface ipv4 show interface
Idx Met MTU 状態 名前
--- ---------- ---------- ------------ ---------------------------
68 20 1500 connected イーサネット 5
REM QNA-UC5G1TのMTUを9000にする
> netsh interface ipv4 set interface 68 mtu=9000
OK
REM デバイスマネージャーから設定しない場合、既定値は1500までらしく、500より大きな値を入力しても設定できたかのように見えて、設定できていない(罠)
REM MTUが設定できたか確認する
> netsh interface ipv4 show interface
補足
>ゲートウェイ「リンク上」というのは「相手が同じネットワーク上なので,ゲートウェイを通さずに直接アクセスするという意味」になります。
PC側とNASの通信を常にQNA-UC5G1Tに設定する
NASのIPアドレスを調べておく(169.254.10.165)
この宛先IPアドレスだった場合に、QNA-UC5G1のインターフェイスのIPが使われるようにすればいい
これを設定するために route add 「'接続先ネットワークのIP' mask 'サブネットマスク'」 'デフォルトゲートウェイのIP' if 'QNA-UC5G1TのID'
を実行する
cmdREM 今回は接続先のIPはひとつなのでサブネットマスクは255.255.255.255にする
>route add 169.254.10.165 mask 255.255.255.255 192.168.86.1 if 68
OK!
REM 確認する
>route print
IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック
169.254.10.165 255.255.255.255 192.168.86.1 169.254.223.34 21
REM インターフェイスがPCについているQNA-UC5G1TのIPアドレスになっている↑
補足
PCを再起動しても設定を反映させたい場合 -p
オプションをつける
参考
ここまででNASとPCの間の通信が5GbEを使ってMTU=9000で行うようになったはず
> 2. QNA-UC5G1TをWindows PC(ドライバv1.8以降)で使用する場合、「デバイスマネージャ」の下のQNA-UC5G1Tネットワークアダプターのプロパティで「Low Power 5 Gbps」オプションを無効にしてください。
デフォルトでDisabledだった
CMDのフォルダ選択で直接IPを指定する(\\169.254.10.165\home などと指定する)
失敗したこと
ネットワークの設定を何もせず、CDMでベンチマークを取ったら5GbEがつかわれていた。なにもしなくてもいけると勘違いした。これはインタフェースガチャだった。
1GbEでの結果が出ることがあcpuので気づいた
最初特に何も設定しない状態でのベンチ結果で1GbEを超えたので勘違いした
このときはNAS側のアクティビティモニタで5GbEが使われているっぽかったが、安定はしていない