0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

インスタンスストアにTEMPDBを配置してみた 3

Posted at

見せてもらおうか、インスタンスストアの実力とやらを...

SQLServerのテストに行く前に、ベンチしてみます。

ディスクのベンチマークについては、AWS公式のこちらにガイドがあります。
今回はDiskSpdを使います。久しぶりにダウンロードしてみたら、バージョンアップしていました。
パラメータ指定など使い方についてはMicrosoft公式のこちらと、こちらも参考にしました。

今回は日中OLTPに加えて夜間バッチでの連続負荷も想定し、読み書き比率は50%でテストしました。

※パラメータが適切でないかもしれません。突っ込み大歓迎です。むしろぜひお願いします...

run_diskspd.bat

diskspd.exe -b4K -d30 -o2 -t1 -Sh -r -w50 -L -Z1G -c20G E:\dummy.dat >results_ra1.txt
diskspd.exe -b8K -d30 -o2 -t1 -Sh -r -w50 -L -Z1G -c20G E:\dummy.dat >results_ra2.txt
diskspd.exe -b16K -d30 -o2 -t1 -Sh -r -w50 -L -Z1G -c20G E:\dummy.dat >results_ra3.txt
diskspd.exe -b64K -d30 -o2 -t1 -Sh -r -w50 -L -Z1G -c20G E:\dummy.dat >results_ra4.txt
diskspd.exe -b128K -d30 -o2 -t1 -Sh -r -w50 -L -Z1G -c20G E:\dummy.dat >results_ra5.txt

diskspd.exe -b4K -d30 -o4 -t4 -Sh -r -w50 -L -Z1G -c20G E:\dummy.dat >results_rb1.txt
diskspd.exe -b8K -d30 -o4 -t4 -Sh -r -w50 -L -Z1G -c20G E:\dummy.dat >results_rb2.txt
diskspd.exe -b16K -d30 -o4 -t4 -Sh -r -w50 -L -Z1G -c20G E:\dummy.dat >results_rb3.txt
diskspd.exe -b64K -d30 -o4 -t4 -Sh -r -w50 -L -Z1G -c20G E:\dummy.dat >results_rb4.txt
diskspd.exe -b128K -d30 -o4 -t4 -Sh -r -w50 -L -Z1G -c20G E:\dummy.dat >results_rb5.txt

diskspd.exe -b4K -d30 -o2 -t1 -Sh  -w50 -L -Z1G -c20G E:\dummy.dat >results_sa1.txt
diskspd.exe -b8K -d30 -o2 -t1 -Sh  -w50 -L -Z1G -c20G E:\dummy.dat >results_sa2.txt
diskspd.exe -b16K -d30 -o2 -t1 -Sh  -w50 -L -Z1G -c20G E:\dummy.dat >results_sa3.txt
diskspd.exe -b64K -d30 -o2 -t1 -Sh  -w50 -L -Z1G -c20G E:\dummy.dat >results_sa4.txt
diskspd.exe -b128K -d30 -o2 -t1 -Sh  -w50 -L -Z1G -c20G E:\dummy.dat >results_sa5.txt

テストは次の3種類のディスクを対象に実施しました。
1.インスタンスストア
2.EBS gp3 6000/125(同コストのEBS)
3.EBS gp3 16000/1000(参考としてgp3max性能でどうなるか)

インスタンスストア

テスト内容(上から順番) MiB/sec IOPS
1 ランダム4K 1スレッド 147.49 37757.47
2 ランダム8K 1スレッド 249.23 31901.53
3 ランダム16K 1スレッド 254.66 16297.93
4 ランダム64K 1スレッド 255.50 4088.04
5 ランダム128K 1スレッド 256.37 2050.92
6 ランダム4K 4スレッド 226.63 58016.45
7 ランダム8K 4スレッド 255.27 32675.14
8 ランダム16K 4スレッド 255.55 16355.50
9 ランダム64K 4スレッド 255.51 4088.09
10 ランダム128K 4スレッド 255.15 2041.20
11 シーケンシャル4K 1スレッド 99.20 25395.64
12 シーケンシャル8K 1スレッド 173.54 22213.38
13 シーケンシャル16K 1スレッド 260.24 16655.15
14 シーケンシャル64K 1スレッド 254.92 4078.68
15 シーケンシャル128K 1スレッド 256.02 2048.15

EBS gp3 6000/125

テスト内容(上から順番) MiB/sec IOPS
1 ランダム4K 1スレッド 11.95 3059.37
2 ランダム8K 1スレッド 23.46 3002.42
3 ランダム16K 1スレッド 46.95 3004.90
4 ランダム64K 1スレッド 125.20 2003.22
5 ランダム128K 1スレッド 125.20 1001.61
6 ランダム4K 4スレッド 11.72 2999.81
7 ランダム8K 4スレッド 23.44 2999.79
8 ランダム16K 4スレッド 46.87 2999.81
9 ランダム64K 4スレッド 125.20 2003.22
10 ランダム128K 4スレッド 125.20 1001.58
11 シーケンシャル4K 1スレッド 11.72 3000.07
12 シーケンシャル8K 1スレッド 23.57 3016.38
13 シーケンシャル16K 1スレッド 47.19 3019.92
14 シーケンシャル64K 1スレッド 125.20 2003.25
15 シーケンシャル128K 1スレッド 125.20 1001.61

EBS gp3 16000/1000

テスト内容(上から順番) MiB/sec IOPS
1 ランダム4K 1スレッド 12.84 3286.25
2 ランダム8K 1スレッド 25.02 3202.38
3 ランダム16K 1スレッド 51.38 3288.39
4 ランダム64K 1スレッド 167.33 2677.25
5 ランダム128K 1スレッド 282.17 2257.34
6 ランダム4K 4スレッド 62.51 16002.61
7 ランダム8K 4スレッド 125.02 16002.78
8 ランダム16K 4スレッド 250.04 16002.68
9 ランダム64K 4スレッド 571.06 9137.01
10 ランダム128K 4スレッド 571.08 4568.66
11 シーケンシャル4K 1スレッド 13.25 3391.92
12 シーケンシャル8K 1スレッド 25.79 3301.65
13 シーケンシャル16K 1スレッド 48.29 3090.63
14 シーケンシャル64K 1スレッド 137.34 2197.46
15 シーケンシャル128K 1スレッド 236.66 1893.26

考察

※diskspdのテスト条件を変えるとまた違う結果が出るとは思います。

総括としてはSQLServerでの利用を前提とすると64KのランダムI/Oが最重要と考えますので、インスタンスストアを積極利用すべきと思いました。

インスタンスストアの場合

スループットはブロックサイズ4K, 8Kの場合はI/Oをまとめる影響なのか、バースト性能以上の値が出ました。
一方、スループットに関してはブロックサイズ4K以外は、どの条件でも250MiB/sec近辺の値となりましたので、このあたりが上限のようです。
今回テストした条件においては、gp3に比べて安定した値が出ました。

gp3 6000/125 の場合

IOPSは約3000で頭打ちとなりました。ランダムI/Oはスレッド数1でも4でも、ほぼ変わらない結果となりました。

gp3 16000/1000の場合

スループットはr5d.xlargeのバースト性能に近い値が出ていて、IOPSに関してはディスク自体の上限値が出ています。
スループット、IOPSとも、条件によって値のバラつきはあります。
ランダムI/Oはスレッド数1と4ではかなり違う値となりました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?