やろうやろうと思っていて、やっていなかった。正直言って、エンタープライズストレージではなく、LinuxパソコンベースのNASなので、SATAが最大6Gbpsで、NICが1Gbpsあるいは2.5Gbpsで、調べることはなくHDDのスピードかNICのスピードで頭打ちになると思っていた。
最近、八丁の2.5Gのスイッチをいれたのと、MTUが起因していると後で分かった謎のLAN全体クラッシュが直せてだいぶネットワークが安定したのでベンチを取ってみた。
TS-453Beは、IronWolfが入っているが前のNASで使っていた6年前のもので、すでに耐用年数を超えているもの。
TS-464は去年の5月くらいにHDDのリプレイスを兼ねて買ったもの。NVMEのキャッシュ 1TB x2がついている。
両方のNASは、仕様で定義されているRAM容量を超えて、パーツとして存在している最大容量を超えて入れている。
DDR3Lのメモリは、ラストバイ状態で手に入る最後のタイミングだと思う。それにDDR4/5より激しく値上がりをしていないので、もし、最大メモリにしていない
人は今のうちに最大メモリにしたほうがいいと思う。
テストクライアントは、Minisforum NAB6 (Intel12世代Core i7 64GB RAM Windows 11)で2NICがついているが1本しか刺していない。SMB Multichannelはトラブルが多いので使わない。MTU9000でも難儀したのでこれ以上問題を増やしたくないし。
よって、今回のテストは仮想化ゼロの物理筐体でのテスト。
それにしても、年末にPCパーツの不足、高騰するなんて思っていなかったのでなんとベストなタイミングでTS-464に切り替えたのだろうと思った。
テスト結果
TS-453be 16GB RAM (最大8GB RAMだが)QTS 5.2.8.3359 Build 20251225 2018年4月発売
1Gbps NIC x2 [onboard:Intel I211 Gigabit Network Connection]
5Gbps USB NIC x1 [QNA-UC5G1T 2.5Gbps Link]
HDD x4 ST12000VN0007-2GS11 [Seagate IronWolf 12TB SATA600 7200] RAID5
MTU1500

MTU9000
ほとんどの項目でパフォーマンスアップ。特にシーケンシャルの伸びが大きい。TS-464のMTU1500の環境よりいい。

TS-464 64GB RAM (最大16GB RAMだが)QTS 5.2.8.3359 Build 20251225 2022年12月発売
2.5Gbps x 2 [onboard: Intel Ethernet Controller I226-V]
NVME x2 CT1000T500SSD5 [Crucial 1TB PCIe Gen4 NVMe M.2] (NVMEキャッシュ)
HDD x4 MG09ACA18TE [東芝 18TB SATA600 7200]. RAID5
MTU1500

MTU9000
MTU1500と比べると微増。TS-453BeのMTU9000と比較しても、それほど劇的には変わり映えがしない。

HDD単体のテスト
結構雑なテストなのであくまでも参考。
Crystal Disk Markh風に生のHDDのテスト(sshでログインをしてfioを実行)結果を記載しておく。ただし、TS-464は、結構データが入っている。TS-453Beはほぼ空なので、HDDの内周、外周が合っていない。よってSeq の値がTS-453Beのほうがよくなっている。
fio の
KB/s は(この世代だと)ほぼ KiB/s と見てよいので、MiB/s に直して比較。|
Test
|
TS-453Be (HDD RAID5のみ)
|
TS-464 (HDD RAID5 + NVMe cache)
|
差分
|
|---|---|---|---|
|
Seq Read (1M, Q1, direct=1)
|
426,752 KiB/s ≒ 416.8 MiB/s
|
385,340 KiB/s ≒ 376.3 MiB/s
|
TS-453Beが約+10.8%
|
|
Seq Write (1M, Q1, direct=1)
|
88,282 KiB/s ≒ 86.2 MiB/s
|
127,846 KiB/s ≒ 124.8 MiB/s
|
TS-464が約+44.8%
|
|
4K Rand Read (Q1, direct=1)
|
210 IOPS(≈842 KiB/s)
|
644 IOPS(≈2,580 KiB/s)
|
TS-464が約3.1倍
|
|
4K Rand Write (Q1, direct=1)
|
118 IOPS(≈474 KiB/s)
|
272 IOPS(≈1,091 KiB/s)
|
TS-464が約2.3倍
|
|
Seq Read (1M, Q1, direct=0)
|
596,647 KiB/s ≒ 582.7 MiB/s
|
751,484 KiB/s ≒ 734.0 MiB/s
|
TS-464が約+26.0%
|
つまり、ネットワークからデータを取り出す場合、TS-453beだとパフォーマンスはこれ以上は難しい。TS-464はNVMEキャッシュがあれば、もっと帯域が出せる可能性があるかもしれない。
考察
TS-453BeでもNICを速く、MTU9000にすればまだ全然使える。QNAPはRealtekのUSB NICが実は普通に使える。QNAPの上位機種の3rd NICなどは、実はRealtekだったりする。
QNAPで動作確認ができた2.5GのUSB NIC。(ただし、Intel系のQNAPでしか確認していないので注意!
TS-453BeとTS-464の差は、CPUとメモリの容量の差くらいしかないし、劇的に違うわけでもない。
- MTU1500でも、TS-464は、ネットで見たTBS-464 (NVME x4)と結果が肉薄している。
- MTU9000にすると、さらに転送速度がアップ。TBS-464の結果を超えてしまった。
TS-453BeとTS-464の差は実はそれほどない。体感を考えると実は、TS-464のほうが全然いい。
パフォーマンス的には、ネットワークが2.5Gbpsの環境であれば、無理にNVME NASにする必要はなく、大容量の確保がしやすい6GBps linkのHDDで十分。さらにNVMEキャッシュをつければベストか。
もう少しパフォーマンスをアップとなると、やはりMTU9000は欠かせない。TS-453BeもTS-464もシングルポートだとベンダーページのパフォーマンスを超えているような。
ただし、MTU9000同士で通信できないとダメだが。また、MTUの設定が間違っていると繋がらなかったり、セグメントネットワークダウンが起きる。ルータを再起動しないとだめ。また、今は、MTU1500と9000が混在してても、それぞれのホストがよろしくやってくれるので問題ない。その場合、ルータのMTUは9000にせず、1500のままにしておくこと。
つまり、2.5Gbpsの環境だと、TS-464にNVMEキャッシュをつけるのが、一番ベストか?
スペック的には、TS-453Beも古いわりには悪くない。TS-453Beも中古で出ていたら買いかもしれない。
NICのスピードを上げるなら5Gbpsくらいまで。10Gbpsの効果はあまり体感できない可能性もある。もし、TS-464のようにNVMEキャッシュを付けてて、オブジェクトストレージやコンテナレジストリのように小さいファイルがバラバラ転送されるならば体感はアップする可能性がある。(パーセンタイルの改善)
ちなみに、HDDではなく、2.5インチのSSDにしたこともあるが、SATA 6G Linkが頭打ちなので、SSD=速いということにはならなかった。SSDがへたるし高く、その恩恵が割合わないので自分はやらない。
これらの機材には、保存ストレージとしてのNVMEはないので、TBS-464のようなNVME NASで初めて10G NIC、つまり10Gネットワークが生きてくる。言い換えると2.5GbpsネットワークだとNVME NASは宝の持ち腐れかもしれない。
それにしてもTS-464はトータルバランスがかなりいい。Intel CPUでiGPUがついていてNVMEキャッシュが使える。Ryzen V1500BなどのNASとCPUの性能はそれほど変わらない。このクラスだと、ファイル共有だけでみるとHDDが大きなパフォーマンスファクタになっている。それ以外の機能を求めるならば、初めてCPUなどの性能が重要になってくるが、足回りがHDDなので、高速なCPUにしただけではパフォーマンスに寄与するかはわからない。TS-464の上のクラスでこんな感じでまとまっているとしたら、高速なCPU(CoreUltraやRyzen7など、NVMEストレージ、10Gbps NICとなるだろう。NASだと価格は桁違いに高そう。見方を変えれば、普通のパソコンスペックでしかないのだが。
ちょうど同じタイミングで知り合い(許諾済み)から、TS-216Gのデータがもらえた。
TS-216Gは、Cortex-A55 2.0GHz 4コア。メモリ4GBなのであまり期待ができないと思ったが。。。
MTU 1500

MTU9000

ARMでもNASのファイル共有として使うのであれば、TS-464とか遜色がない。
ARMが遅いと言う人がいるが、ARMのCPUに仕事をさせたら、Apple Siliconでない限り遅いかもしれない。そもそもARMの動きは、メインフレームと同じ、インテルと違って、I/O転送に関してCPUが積極的に関与しない動きをしている。昔あったAdaptec 154xやIDEのDMA Bus Master転送をしているに近い。Adaptec 154xは転送は、Z80がやっていたはず。なのでI/OがあってもメインCPUは暇。遅いで一括りにされてしまうとかわいそうなCPU。
ARMのNASは、ファイルサーバとしては問題ないけど、その上でアプリを動かした瞬間、遅いと感じる。アプリを動かす必要がなければARMのNASも選択肢。もし、ARMでコンテナを動かしたいのであれば、Apple Silicon上でdocker buildして転送すればいい。
さらにに手元に唯一残るSynology DS218+でも測定してみた。ともにMTU9000
DS218+ 16GB RAM DSM 7.3.2-86009-1
HGST Deskstar HDN726040ALE614 (0F26902) 4TB 7200RPM SHM(RAID1) BTRFS

TS-453Beの1GBpsのポートを使った場合

たいして差がでないと思えば、CPUの性能はTS-453Beの1/4程度しかないのだがDS218+は大健闘 RAID1とRAID5の違いかもしれない。とはいえCPUは遅いし、オブジェクトストレージやコンテナレジストリに向かないCOWのファイルシステムであるBtrfsなので、使い道がなく、UI確認用でしか使っていない。
最後に、この手のNASでMTU9000にした話をほとんど聞かない。エンタープライズ系の話だとたまに聞くのだが。エンタープライズ系の環境の場合、このようなNASと違って、閉じたストレージLANを作って、限られた接続先と閉域で通信させるので、MTU9000の設定はしやすいだからかもしれないが。今は、ちゃんと設定さえすれば、MTU9000の設定も実は簡単なのでやってみる価値はあったなぁと。