業務で DB 関連処理の性能試験を(ほぼ)初めて行った。
その際に調べたDBストレージに関するものすごく基本的な性能知識についての備忘録。
DB ストレージの性能指標
IOPS : Input Output Per Second
- ストレージに対するデータの読み書き回数
- 単位はページ
- DB エンジン毎に実際のサイズは異なる
- MySQL の場合は 16k Byte
- データサイズが小さくても、読み出しサイズは固定なので、DBアクセスが高頻度になるような場合は、この指標の影響度が高くなる。
Throughput
- ストレージに対するデータの読み書き量
- 単位は byte
- データサイズが大きい場合にはこの指標の影響が大きくなる。
AWS RDS の Volume Strage Type
AWSのストレージタイプは以下の3つ。主にIOPS性能を基準にして選ぶようになっている。
汎用 SSD (gp2, gp3)
- 標準のSSD
- コスト効率の高いストレージ
- レイテンシーは 1 桁台のミリ秒
- 長時間 3,000 IOPS にバーストできる
プロビジョンド IOPS (io1)
- 汎用SSDよりも低レイテンシーでアクセスすることが可能
- I/Oキャパシティの事前予約と表現される
- ボリュームサイズによってIOの上限値が変わる
マグネティック
- 標準のマグネティックストレージ
- 下位互換性のためのもの
参考
- https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html
- https://dev-labo.com/aws/difference-iops-throughput/#:~:text=%E5%8B%95%E7%94%BB%E9%96%B2%E8%A6%A7%E3%83%BBWEB%E3%82%B5%E3%82%A4%E3%83%88%E9%96%B2%E8%A6%A7,%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97%E3%81%8C%E5%BA%83%E3%81%84%E6%A7%98%E3%81%A7%E3%81%99%E3%80%82
- http://harish11g.blogspot.com/2013/04/Understanding-Amazon-Elastic-block-store-Performance-Tuning-IO-Block-Size.html