Lattice in the Lettuce

The monologue of a scientist.

Synology NASのSSDキャッシュの利点

SynologyのDS918+は標準でNVMeに、またPCIeスロットを持つ機種はオプションでNVMeに、加えてDS918+以上の機種はベイを消費することでSATA SSDのリード・ライトキャッシュに対応する。

このキャッシュの利点について、レビューサイトや個人レビューは正しい認識をしていないケースが多いようなので、注釈をしておく。
加えて、高容量メモリ(16GBなど)にした場合についても記載する。

転送速度向上のためというのは間違い

よくある間違いは、転送速度向上のために使うんだから、10GbE対応でなければ意味がないとか、2xのLinkAggregationでは意味なしとかいうものだ。
SHRでRAID5以上の速度はシーケンシャルで概ね200MB/sくらいあるので、1GbEの速度を上回ってるんだから、SSDなんか無意味だという短絡的な意見が多い。

これはお話にならない間違いで、SynologyのSSDキャッシュはあくまで、ランダムアクセスの速度向上と省電力のためにあるということを理解しなければならない。

Synology NASはPCよろしくHDDのスピンダウン機能がある。アクセスがない時間が一定以上続くと回転を止めるというものだが、キャッシュヒットが100%の場合はスピンアップしない。キャッシュに何が書かれているか、ということはインデックスから分かるためである。

SSDキャッシュがもっとも有効なパッケージはMomentsとPhoto station、Video stationで、サムネイルの一覧処理があるため、リードキャッシュにヒットするかしないかでレスポンスが秒単位で変わる。複数の同時アクセスでは10秒近く違ったりする。キャッシュヒットしない場合、かなり待たなければならなくなる。

構築してすぐは速くない

もう一つ大きな誤りとしてあるのが、SSDキャッシュ設定直後のベンチマークだ。
キャッシュ設定して、ドライブベンチをかけて、大して速くなってないね~というバカ記事は非常に恥ずかしい。

リードキャッシュは読み出し頻度の高いファイル、ライトキャッシュは書き換え頻度の高いファイルを、使用履歴からそれぞれ、ある程度時間をかけてキャッシュ上に展開している。
そのため、キャッシュ設定直後はさっぱり速くならない。むしろ遅くなったりする。1週間くらい使っているとだんだん高速になってくる、というのがSynologyのNASのキャッシュだ。

メモリはMAXまで積むのがデフォ

もう一つ、SynologyのNASではメモリ増設出来るモデルがある。家庭用では、DS918+のほかにDS418playやDS218+あたりがそれだ。

よくメモリ増設は仮想マシンを組む場合やパッケージを多く使う場合に~、といった解説がされるが、これが誤り。
ガジェットのRAM使用量はまったくの嘘っぱちなので注意が必要だ。これはリソースモニタのメモリタブを開くと分かることだが、メモリ構成のうち、ガジェットに出てくるのは使用中のメモリ量だけ。実際には、余剰メモリの大半がキャッシュメモリに使われるため、大量に積めば積むだけレスポンスが向上する。

標準の2GBや4GBと、16GBに増設した場合とのレスポンス差は雲泥である。

SSDキャッシュはなるべく高容量のものを

もう一つ、認識間違いとしてよくあるのがTBWの話。TBWが400TBくらいの安価で大容量のSSDはキャッシュとして良くない、というのは間違い。リードでは、一度構築されてしまえば、よほど多人数で頻繁に読み出しファイルを変えるなどというケースを除き、頻繁な書き換えは起きない。
またライトキャッシュにおいても、SSDはセルの分散書き込みが基本のため、MAX容量近くまで使い切っているなどというケース以外はTBWを気にすることなどない。

SSDキャッシュはDS918+であればNVMeの1TB以上を、他機種であればベイに空きがあるのならSATAの1TB以上を、それぞれ使うのがもっとも良いと思う。