SSDキャッシュを設定した際に、時間がかかるためSSD Profiling Toolでのテストを省略しました。あの後、時間が取れたのでSSD Profiling Toolで最適なオーバープロビジョニング量を測ってみました。
SSDは空き容量が少なくなると書き換え処理の効率が悪くなりパフォーマンスが劣化します。これに備えてSSDの内部、NVMeインタフェースの向こう側でユーザがアクセスできない領域に作業領域を確保しています。QNAPが言うオーバープロビジョニングは、SSDが用意している内部的な作業領域に加えて、NAS側でも空き領域を確保することでパフォーマンスを確保しよう、という仕組みです。
SSD Profiling Toolは、NAS側で確保する空き領域を何パターンか変化させて、ランダムアクセスのパフォーマンスを測定することで、確保する空き領域とパフォーマンスの関係を測定します。あとは必要なパフォーマンスに応じて、適切な空き領域の量、つまりオーバープロビジョニング量を設定すればいいわけです。空き領域の量とパフォーマンスはトレードオフになっていて、空き領域を増やすほどパフォーマンスが高くなりますが、キャッシュとして使える量が減ってキャッシュヒット率が低下します。
それでは、さっそくSSD Profiling Toolで測定してみます。QNAP NASにログインしてデスクトップのSSD Profiling Toolを起動します。SSD Profiling Toolが見つからない場合は、App Centerからインストールします。
テストの作成をクリックして、テストを開始します。まずは解説です。QNAPのアプリケーションは、最初に解説が入っていることが多く分かりやすいです。
次にテスト対象を選びます。このNASにはSSDが一つしか存在しないので、選択の余地はありません。SSDを二つ搭載した場合は、RAIDタイプを選びます。書き込みキャッシュにするならRAID 1、読み込みキャッシュでパフォーマンスを重視するならRAID 0、今回のように1台のSSDで読み込みキャッシュを構成する場合は1つ(Singleのことでしょう)を選びます。
次はテストの構成です。データサイズとオーバープロビジョンの量を選びます。デフォルトのままで問題ないと思います。より細かく測定する場合はテスト間隔を5%にするのですが、所要時間が激増します。10%で幅広く測定してから、設定したい値周辺を5%で細かく測定するなど、工夫しないといつまでたってもテストが終わりません。
最後にテストの概略が表示されて最終確認です。完了をクリックするとテストが始まります。今回は15時間程度かかる見込みとのこと。バックグラウンドでテストが進むので、NASをログアウトして待ちましょう。
テストが終わると、レポートが作成されます。レポートにはテスト結果、SSDの温度、それにオーバープロビジョン量とパフォーマンスの関係が含まれます。NVMe SSDは発熱が大きいと聞いていましたが、テスト中は45度付近で安定しています。Blueシリーズで速度がほどほどに抑えられていることが影響しているのかも。これなら激しく読み書きするような使い方でも安定して使えそうです。
オーバープロビジョン量とパフォーマンスの関係です。さすがに0%で激しいランダムアクセスをするとパフォーマンスが劣化していたようです。
このNASは動画や画像、音楽など大容量データを扱うことが多く、ユーザも家庭内のみなので、パフォーマンスよりキャッシュ容量を重視すべき使い方です。さすがに0%だとカツカツなので、デフォルトの10%がお手頃ですね。最終的に、キャッシュの設定をすべてのI/Oをキャッシュ、オーバープロビジョン量を10%で設定しました。あとはキャッシュにデータが溜まっていくのを待つばかりです。
15時間の時間とSSDへの大量書き込みを使ってテストした結果がデフォルト値という、なんとも回り道をした結果になりました。意味もわからずデフォルト値で運用するよりはよいか、と思いつつ、次にSSDキャッシュを設定するときはテストする必要はないかな。
これでQNAP TS-453Dは最終形態になったはず。メモリ16GB、SSDキャッシュ800GB、HDDが10TB x2と8TB x2の高性能大容量NASになりました。これでしばらくデータ量を気にせずに使えます。