色々検証で買ったり、中古サーバを買ったらついてきたおまけRAIDカードが増えてきたのですが、どのカードがどの程度の性能を持っているかを感覚でしか分かっていなかったので計測、考察してみました。

2017年現在、いずれもヤフオクや秋葉原で5000円前後、少なくとも1万円以下(eBayではless than $100 USD)で買えるカードでもあるので、安価でそれなりの性能を持ったカードが欲しいと言ったときに役に立つと思います。そのため、全般的にカードが古いです。

計測環境

計測は以下の環境で行いました。使ったハードウェアはhttp://xmms.jp/blog/comments.php?y=17&m=05&entry=entry170504-004911です。

RAIDを構成する際にはX300の128GBを最大4つ使用します。中古で4000円程度だったのでいくつか買ってみましたが、買った時点で利用時間3時間、電源投入10回程度の状態でした。

計測手順

Windows10上にそれぞれのベンダのRAID設定ユーティリティーをインストールし、Windows上からアレイの作成、及び設定の変更を行いました。この際、OSは使い回しなので複数のRAID設定ユーティリティーが動いた状態になりますが…。

アレイの作成後、ディスクマネージャからNTFSでクイックフォーマットを行い、色々テスト条件を指定できるのがIO Meterだったので、今回はその後Windows上でIO Meter(iometer-1.1.0-win64.x86_64-bin.zip)を実行して以下のパターンの値を計測しました。

Maximun Disk sizeは10000000 Sectors (51210000000Byte、約5GB)、Run timeは30秒、各テストの前には10秒のRamp Up Timeを設けています。

このうちの、「R/WそれぞれのIOPS値」と「RW合算MB/s値」をまとめます。まあIOPS*アクセスデータサイズ=MB/sになるので後者は不要といえば不要ですが…。

本当はカード交換時にAHCIに繋ぎLinux等からblkdiscardをそれぞれのSSDに対して実行したあとに新しいカードに移るべきなのですが、あまりにも手間なのでそのまま別のカードに付け替え、実行しています。

RAIDアレイの初期化、Windowsからのクイックフォーマット命令時のいずれかにRAIDカードがよしなにSSDに伝えてblkdiscard/trim相当のことをしていると信じます。この辺の情報が謎でした。

検証カード

Intel X79 AHCI

リファレンス的な扱いです。X79のSATA6GポートにX300を1枚挿し、データを取得しました。SSDの性質上、R/Wが混ざるとかなり性能が落ちることが確認できますが、今回の目的はSSDの性能ではなくRAIDカードの性能であることに留意してください。



Access Specification NameRead IOpsWrite IOps
512 B; 100% Read; 0% random_QD125263.00.0
512 B; 100% Read; 0% random_QD3267221.00.0
512 B; 50% Read; 0% random_QD11397.51399.2
512 B; 50% Read; 0% random_QD323093.93103.4
512 B; 0% Read; 0% random_QD10.022460.0
512 B; 0% Read; 0% random_QD320.059233.5
4 KiB; 100% Read; 0% random_QD121769.80.0
4 KiB; 100% Read; 0% random_QD3263632.30.0
4 KiB; 50% Read; 0% random_QD13467.53494.7
4 KiB; 50% Read; 0% random_QD3213851.413853.1
4 KiB; 0% Read; 0% random_QD10.018821.0
4 KiB; 0% Read; 0% random_QD320.054700.6
256 KiB; 100% Read; 0% random_QD11477.20.0
256 KiB; 100% Read; 0% random_QD321572.10.0
256 KiB; 50% Read; 0% random_QD1372.1368.4
256 KiB; 50% Read; 0% random_QD32462.4462.5
256 KiB; 0% Read; 0% random_QD10.01259.2
256 KiB; 0% Read; 0% random_QD320.01110.5
1M-Seq-100%R_QD1398.10.0
1M-Seq-100%R_QD32384.40.0
1M-Seq-50%R_QD1127.4124.0
1M-Seq-50%R_QD32123.3116.5
1M-Seq-100%W_QD10.0303.3
1M-Seq-100%W_QD320.0276.4
1M-rand-100%R_QD1304.50.0
1M-rand-100%R_QD32382.70.0
1M-rand-50%R_QD1119.2121.7
1M-rand-50%R_QD32121.7121.4
1M-rand-100%W_QD10.0259.5
1M-rand-100%W_QD320.0282.2




Access Specification NameRead MBps (Decimal)Write MBps (Decimal)
512 B; 100% Read; 0% random_QD112.90.0
512 B; 100% Read; 0% random_QD3234.40.0
512 B; 50% Read; 0% random_QD10.70.7
512 B; 50% Read; 0% random_QD321.61.6
512 B; 0% Read; 0% random_QD10.011.5
512 B; 0% Read; 0% random_QD320.030.3
4 KiB; 100% Read; 0% random_QD189.20.0
4 KiB; 100% Read; 0% random_QD32260.60.0
4 KiB; 50% Read; 0% random_QD114.214.3
4 KiB; 50% Read; 0% random_QD3256.756.7
4 KiB; 0% Read; 0% random_QD10.077.1
4 KiB; 0% Read; 0% random_QD320.0224.1
256 KiB; 100% Read; 0% random_QD1387.20.0
256 KiB; 100% Read; 0% random_QD32412.10.0
256 KiB; 50% Read; 0% random_QD197.596.6
256 KiB; 50% Read; 0% random_QD32121.2121.2
256 KiB; 0% Read; 0% random_QD10.0330.1
256 KiB; 0% Read; 0% random_QD320.0291.1
1M-Seq-100%R_QD1417.40.0
1M-Seq-100%R_QD32403.10.0
1M-Seq-50%R_QD1133.6130.1
1M-Seq-50%R_QD32129.3122.1
1M-Seq-100%W_QD10.0318.0
1M-Seq-100%W_QD320.0289.8
1M-rand-100%R_QD1319.30.0
1M-rand-100%R_QD32401.30.0
1M-rand-50%R_QD1125.0127.6
1M-rand-50%R_QD32127.6127.3
1M-rand-100%W_QD10.0272.1
1M-rand-100%W_QD320.0295.9




ちなみに、CDMとATTOの参考値です。

NEC N8103-130 (Megaraid SAS 9264-8i)

RAID5/6用キー付きのモデルです。購入時はバッテリ付きで1枚3000円程度でした。手元にあった物はFW 2.0.43-0991の物ですが、値を見る限りは最初からSATA6対応で動いているように見えます。よって、ファームの書き換えなどはしていません。

BBUもあるのですが、充電を待つのが面倒だったのでBBU無しで検証しています。過去の経験により、LSIのカードの設定については

と言う傾向があるので、それを踏まえた個人的に気になった以下のパターンを確認しています。

ディスクのストライプサイズはデフォルトの64K固定です。

1Disk-RAID0 WriteThrough

 


Access Specification NameRead IOpsWrite IOps
512 B; 100% Read; 0% random_QD17719.80.0
512 B; 100% Read; 0% random_QD3289650.80.0
512 B; 50% Read; 0% random_QD11024.91033.2
512 B; 50% Read; 0% random_QD323658.03661.1
512 B; 0% Read; 0% random_QD10.06650.8
512 B; 0% Read; 0% random_QD320.074875.2
4 KiB; 100% Read; 0% random_QD16387.10.0
4 KiB; 100% Read; 0% random_QD3268688.00.0
4 KiB; 50% Read; 0% random_QD11893.01891.0
4 KiB; 50% Read; 0% random_QD3215382.815404.2
4 KiB; 0% Read; 0% random_QD10.06349.2
4 KiB; 0% Read; 0% random_QD320.052811.1
256 KiB; 100% Read; 0% random_QD11206.00.0
256 KiB; 100% Read; 0% random_QD321714.40.0
256 KiB; 50% Read; 0% random_QD1353.4346.6
256 KiB; 50% Read; 0% random_QD32515.9514.8
256 KiB; 0% Read; 0% random_QD10.01080.9
256 KiB; 0% Read; 0% random_QD320.01218.1
1M-Seq-100%R_QD1415.60.0
1M-Seq-100%R_QD32428.70.0
1M-Seq-50%R_QD1133.6137.6
1M-Seq-50%R_QD32132.6131.1
1M-Seq-100%W_QD10.0307.9
1M-Seq-100%W_QD320.0304.1
1M-rand-100%R_QD1317.90.0
1M-rand-100%R_QD32410.70.0
1M-rand-50%R_QD1133.3138.1
1M-rand-50%R_QD32134.9134.9
1M-rand-100%W_QD10.0308.3
1M-rand-100%W_QD320.0299.8






Access Specification NameRead MBps (Decimal)Write MBps (Decimal)
512 B; 100% Read; 0% random_QD14.00.0
512 B; 100% Read; 0% random_QD3245.90.0
512 B; 50% Read; 0% random_QD10.50.5
512 B; 50% Read; 0% random_QD321.91.9
512 B; 0% Read; 0% random_QD10.03.4
512 B; 0% Read; 0% random_QD320.038.3
4 KiB; 100% Read; 0% random_QD126.20.0
4 KiB; 100% Read; 0% random_QD32281.30.0
4 KiB; 50% Read; 0% random_QD17.87.7
4 KiB; 50% Read; 0% random_QD3263.063.1
4 KiB; 0% Read; 0% random_QD10.026.0
4 KiB; 0% Read; 0% random_QD320.0216.3
256 KiB; 100% Read; 0% random_QD1316.10.0
256 KiB; 100% Read; 0% random_QD32449.40.0
256 KiB; 50% Read; 0% random_QD192.690.9
256 KiB; 50% Read; 0% random_QD32135.2134.9
256 KiB; 0% Read; 0% random_QD10.0283.4
256 KiB; 0% Read; 0% random_QD320.0319.3
1M-Seq-100%R_QD1435.80.0
1M-Seq-100%R_QD32449.50.0
1M-Seq-50%R_QD1140.1144.3
1M-Seq-50%R_QD32139.1137.4
1M-Seq-100%W_QD10.0322.8
1M-Seq-100%W_QD320.0318.8
1M-rand-100%R_QD1333.30.0
1M-rand-100%R_QD32430.70.0
1M-rand-50%R_QD1139.8144.8
1M-rand-50%R_QD32141.5141.5
1M-rand-100%W_QD10.0323.3
1M-rand-100%W_QD320.0314.4



何気にAHCIよりIO性能が高い…。SSD自体に256MBのDRAMが載っているので、そもそもカード自体のDRAMが不要な可能性があります。

CDMの4G、100MBリードの参考値です。ちなみにDiskcacheを無効にするとシーケンシャルでも書き込みが45MB/s程度まで落ちました。




1Disk-RAID0 WriteBack

 


Access Specification NameRead IOpsWrite IOps
512 B; 100% Read; 0% random_QD14301.60.0
512 B; 100% Read; 0% random_QD3287637.20.0
512 B; 50% Read; 0% random_QD12087.82095.7
512 B; 50% Read; 0% random_QD3210308.410368.4
512 B; 0% Read; 0% random_QD10.013426.3
512 B; 0% Read; 0% random_QD320.045188.0
4 KiB; 100% Read; 0% random_QD14165.80.0
4 KiB; 100% Read; 0% random_QD3248356.30.0
4 KiB; 50% Read; 0% random_QD11878.21860.2
4 KiB; 50% Read; 0% random_QD3213939.213922.0
4 KiB; 0% Read; 0% random_QD10.012120.9
4 KiB; 0% Read; 0% random_QD320.030910.1
256 KiB; 100% Read; 0% random_QD11191.30.0
256 KiB; 100% Read; 0% random_QD321780.10.0
256 KiB; 50% Read; 0% random_QD1378.6376.6
256 KiB; 50% Read; 0% random_QD32402.7402.1
256 KiB; 0% Read; 0% random_QD10.01218.4
256 KiB; 0% Read; 0% random_QD320.01218.0
1M-Seq-100%R_QD1416.30.0
1M-Seq-100%R_QD32447.90.0
1M-Seq-50%R_QD1128.7129.8
1M-Seq-50%R_QD32122.3120.3
1M-Seq-100%W_QD10.0305.9
1M-Seq-100%W_QD320.0305.4
1M-rand-100%R_QD1292.70.0
1M-rand-100%R_QD32305.90.0
1M-rand-50%R_QD1119.6117.5
1M-rand-50%R_QD32110.5111.5
1M-rand-100%W_QD10.0285.2
1M-rand-100%W_QD320.0282.1




Access Specification NameRead MBps (Decimal)Write MBps (Decimal)
512 B; 100% Read; 0% random_QD12.20.0
512 B; 100% Read; 0% random_QD3244.90.0
512 B; 50% Read; 0% random_QD11.11.1
512 B; 50% Read; 0% random_QD325.35.3
512 B; 0% Read; 0% random_QD10.06.9
512 B; 0% Read; 0% random_QD320.023.1
4 KiB; 100% Read; 0% random_QD117.10.0
4 KiB; 100% Read; 0% random_QD32198.10.0
4 KiB; 50% Read; 0% random_QD17.77.6
4 KiB; 50% Read; 0% random_QD3257.157.0
4 KiB; 0% Read; 0% random_QD10.049.6
4 KiB; 0% Read; 0% random_QD320.0126.6
256 KiB; 100% Read; 0% random_QD1312.30.0
256 KiB; 100% Read; 0% random_QD32466.60.0
256 KiB; 50% Read; 0% random_QD199.398.7
256 KiB; 50% Read; 0% random_QD32105.6105.4
256 KiB; 0% Read; 0% random_QD10.0319.4
256 KiB; 0% Read; 0% random_QD320.0319.3
1M-Seq-100%R_QD1436.60.0
1M-Seq-100%R_QD32469.60.0
1M-Seq-50%R_QD1134.9136.1
1M-Seq-50%R_QD32128.2126.2
1M-Seq-100%W_QD10.0320.8
1M-Seq-100%W_QD320.0320.3
1M-rand-100%R_QD1306.90.0
1M-rand-100%R_QD32320.70.0
1M-rand-50%R_QD1125.4123.3
1M-rand-50%R_QD32115.8116.9
1M-rand-100%W_QD10.0299.1
1M-rand-100%W_QD320.0295.8


5GBというキャッシュに乗り切らないサイズのせいか、違いがぜんぜんわからん!

WTモード時とのデータの向上率の比較をしてみる


Access Specification NameRead IOpsWrite IOps
512 B; 100% Read; 0% random_QD155.7%0.0%
512 B; 100% Read; 0% random_QD3297.8%0.0%
512 B; 50% Read; 0% random_QD1203.7%202.8%
512 B; 50% Read; 0% random_QD32281.8%283.2%
512 B; 0% Read; 0% random_QD10.0%201.9%
512 B; 0% Read; 0% random_QD320.0%60.4%
4 KiB; 100% Read; 0% random_QD165.2%0.0%
4 KiB; 100% Read; 0% random_QD3270.4%0.0%
4 KiB; 50% Read; 0% random_QD199.2%98.4%
4 KiB; 50% Read; 0% random_QD3290.6%90.4%
4 KiB; 0% Read; 0% random_QD10.0%190.9%
4 KiB; 0% Read; 0% random_QD320.0%58.5%
256 KiB; 100% Read; 0% random_QD198.8%0.0%
256 KiB; 100% Read; 0% random_QD32103.8%0.0%
256 KiB; 50% Read; 0% random_QD1107.1%108.7%
256 KiB; 50% Read; 0% random_QD3278.0%78.1%
256 KiB; 0% Read; 0% random_QD10.0%112.7%
256 KiB; 0% Read; 0% random_QD320.0%100.0%
1M-Seq-100%R_QD1100.2%0.0%
1M-Seq-100%R_QD32104.5%0.0%
1M-Seq-50%R_QD196.3%94.3%
1M-Seq-50%R_QD3292.2%91.8%
1M-Seq-100%W_QD10.0%99.4%
1M-Seq-100%W_QD320.0%100.4%
1M-rand-100%R_QD192.1%0.0%
1M-rand-100%R_QD3274.5%0.0%
1M-rand-50%R_QD189.7%85.1%
1M-rand-50%R_QD3281.9%82.6%
1M-rand-100%W_QD10.0%92.5%
1M-rand-100%W_QD320.0%94.1%


分かりづらいですが、100%でキャッシュ無し時と同じなので、512 B; 100% Read; 0% random_QD1の55.7%というのは、キャッシュを有効にすると逆に性能劣化が起きてキャッシュ無しの半分の性能になっているパターンです。(コンフルマクロで1を主軸にして左右にするグラフどう作れば良いんだ…。)

512BアクセスのRead50%/Write50%時はキャッシュを有効にすると無しに比べて3倍近い性能向上を得られますが、それ以外の場合は大体性能劣化が起きているようです。

WBの効果が出ているかCDMも走らせてみましたが、キャッシュに収まる100MBでテストしたところキャッシュ速度はずいぶんと速いようです。













You may also want to use visual panels to communicate related information, tips or things users need to be aware of.

Related articles

Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.


Related issues