generated at
5GbEで直接接続したNASとWindowsの転送速度を計測する

やりたいこと
5GbEでつないだPCとNASで、CrystalDiskMark(以下、CDM)でベンチマークを取りたい

環境
ネットワーク
PCとNASにつけたQNA-UC5G1T同士を直接接続している
NASとPCは1GbEでもハブを介してつながっている
ハードウェア
TS-453mini RAID 5 HDD x4(IronWolf 6TB、WD RED 3TB x3 すべて5400rpm)

結果
左 MTU 1500 / 右:MTU 9000(Jumbo frames
右のときのNAS側のモニタリングデータ
シーケンシャルWriteが参考サイト(以下)よりだいぶ遅い。なんで?
A. CDMが昔のバージョンなのでデフォルトの計測パラメーターが違うから
計測の基準を揃えるとこうなる。キューが多いときのSeq Write(Q32 T1)が遅い
左:MTU 1500 / 右: MTU 9000

考察
Jumbo framesにするとシーケンシャルリード/ライトのQ1T1の結果が30-40%程度改善する
Cerelon J1900だとさばききれていない?
Jumbo framesは貧弱なCPUで効果があるはず
Jumbo framesは必須かもしれない
QNAPのサイトに最適なパフォーマンスを確保するためとわざわざ書いてあるのはこのためかな?
> 1. ローカルネットワーク環境のデバイスすべてのJumbo FramesをMTU 9000に設定することを推奨します。
ジャンボフレームを利用しないなら最も早いシーケンシャルリードで1.6Gbps程度なので2.5GbEで十分
NASもっといいCPU積んだらさらに速度出るかも
実際にはQ1T1の値が重要なようで、そうすると2.3Gbps程度なのだから2.5GbEで十分
ジャンボフレームを使う場合、3.3GbpsぐらいでるのでQNA-UC5G1Tを買った意味がある
SSDを注文したので、今後さらに速度が上がることを期待
CrystalDiskMarkでNASとWindowsの転送速度を計測する#609bf612774b17000073215fに比べて、ランダム書き込みがめちゃくちゃ悪化してるのはなぜ?というか前回が異様に早いのはなぜ?
ネットワークの設定、めんどくさいなー
ジャンボフレームがきくとなると、VLANの設定をする必要が出てくるようだ。L3スイッチなんて普通のおうちにはないと思うんですけど(名推理)

設定方法
MTUを9000にする
NAS側
Windows側
デバイスマネージャーからQNA-UC5G1Tの設定を変更
説明が見つからず、Jumbo Frame を有効にする方法 | バッファローを参考に有効にした
この設定をしないと、ジャンボフレームの設定が反映されない
この設定だけでMTUが9014KBになるのかと思ったがどうもそうではないようだ
インタフェースのMTUを変更する
cmd
REM 管理者権限の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' を実行する
cmd
REM 今回は接続先の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が使われているっぽかったが、安定はしていない