TS-873で大容量ファイルを転送した際のCPU・メモリ消費をチェックした記録
最初に
SMBとfioの計測では1GBのテストだったので
4GBメモリのTS-873でも十分キャッシュで処理できる範囲でしたが
搭載メモリ以上のファイルを転送した場合に
どういう挙動をするのか確認していきます
ハードウェア概要
QNAP TS-873-4G
Amazon | QNAP(キューナップ) TS-873 クアッドコア2.1 GHz CPU 4GBメモリ 8ベイ DTCP-IP/DLNA対応
https://amzn.to/34uq7oC
メモリは増設せずに2GBx2の4GBのまま
使用したHDDは全てSeagate ST1000DM010 1TB 7200rpm
QTSバージョンは4.4.1.1086
Multimedia Consoleなどの追加機能アプリは全部無効
システムサービスはMicrosoftネットワークとWebサーバーのみ有効
使用したテスト用ファイルは実用速度を確認する為
0書きしたダミーファイルではなく
45GiBの単一ファイルで中身はランダムデータです
システムメモリの使用量
まずはシステムメモリの使用量を確認していきます
セットアップ直後
スマートインストールガイドを終えて再起動後、15分ほど放置した状態
ストレージプール作成後
HDD1台でストレージプールを作成した後に再起動して30分ほど放置した状態
まだボリュームは作成せず
10MBほど増えましたがほぼ変わらず
システムボリューム作成後
1つ目のボリュームが自動でシステムボリュームになります
(ボリューム名に「システム」と入る)
システム用ボリュームを作成した後に再起動して30分ほど放置した状態
システムボリュームを作成するとバックグラウンド処理が増えるので
システムメモリも100MB以上消費され、CPU使用率も上がります
2つ目のボリューム作成後
通常シックボリュームを作成した後に再起動して30分ほど放置した状態
少し増えますが差が少ないのでなんとも言えません
3つ目のボリューム作成後は903.48MBに減りましたので誤差な気がします
HDD8台 RAID5の場合
HDD8台でRAID5のストレージプールを作成し
同じようにシステムボリュームと普通のボリュームを作成
再起動後、30分放置した状態
RAID構成だと100MBほど増えるようです
まとめ
SMB用途であればシステムは約1GB程度の消費になり
多めに見積もっても1.5GB程度確保していれば大丈夫です
リソースモニターのメモリ使用率の見方
パッと見ではわかりにくい表記になってますがQTSのメモリ使用率は以下の通り
使用可能メモリ合計=使用済み+空き領域
空き領域=キャッシュ+空き
つまりシンプルに言えば使用済みがシステム用でそれ以外がキャッシュ用
上下を比較して使用済みが3MBしか増えていないように見えますが
キャッシュをフルに活用した後なのがわかります
HDD1台へ転送
最初はシンプルにHDD1台のみのストレージプールを作成して
SMB経由(GbE)で45GiBの単一ファイルを転送します
HDDシーケンシャル書き込み速度>GbEの速度
ですので大容量ファイルであってもメモリは溢れないはず
通常シックボリューム
まとめ
GbEで頭打ちしているのでリソースモニターでも綺麗な天井になっています
CPUはかなり余裕でメモリもキャッシュをフル活用で安定してました
暗号化シックボリューム
まとめ
CPU使用率でIO待機よりシステムが高くなる所が特徴ですが
こちらもAES-NI対応機なのでCPU負荷は20%程度
ネットワーク使用率の天井張り付き具合を見ると
暗号化ボリュームの方が若干上下していて甘いですが
体感では通常ボリュームと変わらない速度・安定性があるのがわかります
HDD8台 RAID5へ転送
HDD8台でRAID5を構成したストレージプールを作成し
SMB経由(GbE)で45GiBの単一ファイルを転送します
8台RAIDでのCPU使用率と意図的にキャッシュ溢れを起こして挙動を確認したかったので
前記事のローカル速度計測結果を参考に比較的遅かった8台RAID5を使いました
更に暗号化シックボリュームにすることで処理能力を下げてます
GbEの速度>シーケンシャル書き込み速度(fio計測値)になっていますので
キャッシュ溢れが起きてもおかしくない環境での結果です
まとめ
HDD1台の暗号化ボリュームのデータと比較すると
CPUシステム負荷が若干上がっているのがわかりますが
GbEで頭打ちなのもあってCPU負荷は余裕があります
fioでのテストと違ってキャッシュが有効になると
大容量でもうまく処理出来ているのか
目的だったキャッシュ溢れでの挙動は確認できませんでした
fioでの数値が低くてもGbE程度であればHDDでも問題なく処理できているというのは
実用する上ではかなり素晴らしい結果なのではないでしょうか
HDD8台 RAID5へ転送 2NIC版
HDD8台のRAID5&暗号化ボリュームよりGbEの方が遅いという結果でしたので
更に高速化するべく2NIC&2PCで同時転送することにしました
当然ながらPC1番→1番LANポート、PC2番→2番LANポートで別帯域になっています
計測前の状態
2NICだとアイドル状態でもシステムが1000MB超えました
まとめ
2NIC同時使用でようやくNAS側がネックになりましたが
HDD8台+RAID5だとキャッシュ有効での実用は140~160MB/sぐらいで利用できるようです
CPU使用率も30%でまだまだ余裕です
PC1番の方で転送終了間際に転送速度が回復していますが
ネットワーク使用率を見てわかる通りPC2番の方が先に転送が終わっただけです
キャッシュメモリが少なくてわかりにくいですが最初の数秒だけしっかり速度が出ます
しかしすぐにキャッシュが溢れてその後はHDD本来の書き込み速度に制限されて終わります
キャッシュ分はGbEフル活用をしてその後はHDD本来の書き込み速度に制限されるという
挙動自体は想像通りではありますが
普通のHDDとメモリ4GBでもこの程度の書き込み速度が安定して使えるならば
iSCSIとかだと厳しいですが普通のファイルサーバとして使う分には必要十分ですね
コメント