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を配置してみた 1

Last updated at Posted at 2022-04-09

はじめに

EC2でSQLServerを使う開発案件のなかで、インスタンスストアを有効に使えるかどうか試してみました。

OSとDB

OS: WindowsServer2016
DB: SQLServer2019

比較の趣旨

下記2パターンを比較してみます。
・r5d.xlargeでインスタンスストアにTEMPDBを配置する構成
・r5.xlargeでEBSボリュームにTEMPDBを配置する構成
両社の比較で、インスタンスストア使ったほうが安くて速いよね、ってなるのが想定シナリオなんだけど、果たしてどうなることか...

コスト

まずEC2インスタンス費用から。
アジアパシフィック(東京)、オンデマンドで、月間使用率100%で計算。
r5d.xlarge 388.36 USD/month
r5.xlarge 356.24 USD/month
差額 32.12 USD/month

r5d.xlargeのインスタンスストア容量は150GiBです。
上記差額に近い、同容量のEBSと比較してみたいと思います。
→ gp3, 6000/125で、32.40 USD/month なので、これと比較することにしました。

テストマシンのディスク構成

Drive Type Size IOPS Throughput 用途
C: EBS gp3 150GiB 3000 125MB/sec OS
D: EBS gp3 150GiB 6000 125MB/sec TEMPDB配置場所1
E: インスタンスストア 150GiB - - TEMPDB配置場所2
F: EBS gp3 200GiB 3000 125MB/sec DBファイル配置場所

※r5d.xlargeとr5.xlargeは基本性能が同じなので、r5d.xlargeにTEMPDB配置用のEBSを追加し、TEMPDBの場所を切り替えてテストとします。

インスタンスの性能上限

r5.xlarge/r5d.xlargeとも、インスタンスのI/Oにバーストがあります。
以下AWS公式サイトから抜粋した数値をもとに補足

I/Oサイズ IOPS Throughput
バースト 16KiB 18,750 292.97 MB/sec
バースト 128KiB 4,750 593.75 MB/sec
ベースライン 16KiB 6,000 93.75 MB/sec
ベースライン 128KiB 1,150 143.75 MB/sec

TEMPDBにインスタンスストアを使うと、バースト性能が発揮できるはずです。
一方、TEMPDBにEBSを使った場合は、ディスク性能が足かせとなるためベースラインの範囲の性能までしか発揮できないはずです。(今回のテストではコスト固定でディスク性能を調整したので)

とりあえず準備

image.png
SQLServerを使うので、フォーマット時のアロケーションユニットサイズはCドライブ以外すべて64KBとしました。
image.png

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?