センニジュウヨン

意味なんてない

Synology DS418play のベンチマーク

先日買った NAS、 DS418play のベンチマークを取ってみた。

購入記事はこちら 1024.hateblo.jp

ベンチマークのやり方

ベンチマークソフトはちょっと探してみたが、NAS用に良さげなものを見つけられなかったので 汎用的に使える CrystalDiskMark(以下、CDM) を使って計測してみた。 最新版の 6.0.0 x64 で、なんとなく UWP 版を入れてみた。

CDM で何度か適当に測ってみると、シーケンシャルアクセスはほぼ一定だが、ランダムアクセス性能が実行のたびに結構変わることがわかった。

ベンチマーク結果1ベンチマーク結果2
ランダムライトが特に異なる結果

また、テストサイズの大小でも結果が変わってくる。さらに、テストサイズを大きくしていると、時間とともに徐々に結果が良くなっていった。

CDM のデフォルトの設定だけでは安定した結果を得られないことが分かったため、ベンチマークのやり方を以下のように決めた。

  • テストサイズは最大の 32GiB と、最小の 50MiB の2種類を指定
  • テスト回数は最大の 9 を指定
  • 同一条件で 5 回(サイズが小さいときは2回)テストし、すべての値の最大値を求める

テスト回数については、9 回でもまだバラツキがあったので、それをさらに複数回やることにした。 テストサイズが小さいときはバラツキも少ないようなので2回だけにした。 また、平均値ではなく最大値にするのは、CDM の計測方法でそもそも最大値を使っているようなので、それに合わせた。 平均や標準偏差も求めたほうが良いのかもしれないが、今回は面倒だからやっていない。

ベンチマーク対象

今回のベンチマークの趣旨の一つとして、Samba 共有の設定をどうするかを決める、というのがあり、 共有の設定を 3 種類用意してそれぞれに対してベンチマークを行った。

  • デフォルト設定
    • f:id:KiKibits:20180606213013p:plain:w215f:id:KiKibits:20180606213020p:plain:w215
      DSM6.2 で共有を設定する際の規定の設定
  • 圧縮を有効
    • f:id:KiKibits:20180606213353p:plain:w215f:id:KiKibits:20180606213358p:plain:w215
      デフォルト設定に圧縮のために必要な設定だけを足したもの
  • 暗号化を有効
    • f:id:KiKibits:20180606213759p:plain:w215f:id:KiKibits:20180606213803p:plain:w215
      デフォルト設定に暗号化のために必要な設定だけを足したもの

また、ベースとなるファイルシステムは Btrfs で、HDD を 2台接続した SHR(Synology Hybrid Raid) なので RAID-1 相当である*1。 HDD は NAS と同時に購入した 7200rpm のもの。

f:id:KiKibits:20180606235528p:plain:w400

圧縮は恐らく Btrfs の透過圧縮のものだと思われるが、調べていないので確証はない。 暗号化も具体的にどうやっているか調べてないのでわからない。

なお、リンクアグリゲーションや SMB マルチチャンネルは一切使わずに先日購入したスイッチ経由で 1000BASE-T 接続している*2

1024.hateblo.jp

SMBのバージョン(dialect) は 3.1.1(最新のはず)。 PowerShell(管理者) で以下のように確認できる。

PS C:\WINDOWS\system32> Get-SmbConnection

ServerName ShareName UserName   Credential Dialect NumOpens
---------- --------- --------   ---------- ------- --------
NASX       IPC$      PCX\userxx PCX\userxx 3.1.1   1

NAS の管理画面(DSM) では、デフォルトでは 3系 が無効になっていたので設定する必要があったはず。

ベンチマーク結果

デフォルト設定の結果圧縮設定の結果暗号化設定の結果
32GiB 9x5回 ベンチマーク結果 (※複数の結果を合成した嘘画像)

デフォルト設定の結果圧縮設定の結果暗号化設定の結果
50MiB 9x2 回ベンチマーク結果 (※複数の結果を合成した嘘画像)

シーケンシャルアクセスの性能はどれも大差なく、測定ごとのブレも少ないので見るべきはランダムアクセス性能である。

50MiB の方は、"暗号化" でランダムライト性能が落ちているの以外はほぼ同じ結果で、4KiB Q1T1 以外は 1000BASE-T の帯域を使い切っていると言って良さそう。

32GiB の方は、"暗号化" が相変わらずランダムライトで性能が落ちているが、ここにきて "圧縮" が "デフォルト" を上回ってきた*3。また、上記嘘画像では分からないが、"圧縮" だけは計測ごとのブレが少なく、かなり安定してこれに近い性能が出ていた。その点、"デフォルト" はブレが大きく、これより性能が落ちることが頻繁にあった*4

というわけで、今後は圧縮をメインに使うことにした。

ReadyNAS Ultra 4 でもやってみる

ついでに、同一のベンチマーク手法で旧 NASベンチマークを取ってみた。

こちらは HDD(5400rpmクラス) 4台構成の ext4 X-RAID2 であり、RAID-5 相当なので注意が必要。 f:id:KiKibits:20180606233730p:plain:w700 ネットワーク構成等は基本的に同じだが、SMB の dialect は 1.5 である。共有の設定に暗号化や圧縮はなかったと思う。

結果は以下

旧NASの結果
32GiB 9x5回ベンチマーク結果 (※複数の結果を合成した嘘画像)
旧NASの結果
50MiB 9x2 回ベンチマーク結果 (※複数の結果を合成した嘘画像)

シーケンシャル性能は 旧→新 でだいぶ上がったが、ランダム性能は及んでいない部分もあるということが分かった。 これが Btrfs のせいなのか、RAID-1 と RAID-5 の違いのせいなのかはわからないが、 旧NAS からのデータ移行が終わったら新NAS の方へ HDD を移植するつもりなので、 気が向いたらまた計測するかも。

*1:RAID-1 だと、1台の場合とさほど変わらないか遅くなると思うが、読み込みは速くなる場合もあるらしい

*2:そもそもこのスイッチではリンクアグリゲーション使えない気がするし、使えても単一接続では効果ない気がする

*3:ランダムリードは若干落ちているが…

*4:"暗号化" のブレは中間くらいだが、そもそも性能が微妙