はじめに
こちらはさくらインターネット Advent Calendar 2024 の 7日目の記事です。
初めまして。バックエンドチームでDBアプライアンスのテックリードとして働いています松浦 裕哉と申します。
自分のプロフィールや働き方などは以下のインタビュー記事で色々と書いています
概要
今年の6月27日にDBアプライアンスのディスク暗号化機能を提供開始しました
こちらは去年リリースいたしましたさくらの「クラウドディスク暗号化機能」を用いてDBアプライアンスに紐づくディスクを暗号化することができる機能となっております
「クラウドディスク暗号化機能」に関しましては以下の記事を参照ください
記事でも書かれていますが、IOパフォーマンスの低下(レイテンシの増加)もほとんど発生せず、許容可能な範囲に収まることを確認されてはいますが、実際にそうなのか気になったのでベンチマークソフトを用いて実際にどの程度のパフォーマンス影響の発生を確認するというのが本記事のテーマとなります。
こちらの記事は執筆時点でのサービス構成による独自の検証となっております
動作を保証するものではないことをご留意ください
準備
計測対象
対象のDBアプライアンスは東京第二ゾーンで作成したPostgreSQLリソースの30GBプラン、90GBプラン、240GBプランを採用します。
なぜこの3つかと言いますと、DBアプライアンスは現状、ディスク容量において紐づくVMのスペックが異なります。
一番スペックの低い10GBとディスクの容量が非常に大きい500GB、1TBプランを排除した形となります。
条件やコマンドなど
下記のコマンドで各リソースごとに実施
SCALE=100
CLIENTS=100
TRANSACTIONS=10000
pgbench -i -s $SCALE -h $HOST -p $PORT -U $USER $NAME
pgbench -c $CLIENTS -j $CLIENTS -t $TRANSACTIONS -h $HOST -p $PORT
以下のような出力になります
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 100
query mode: simple
number of clients: 100
number of threads: 100
number of transactions per client: 10000
number of transactions actually processed: 1000000/1000000
latency average = 69.173 ms
tps = 1445.645112 (including connections establishing)
tps = 1446.064715 (excluding connections establishing)
また、DB側のパラメータはmax_connections
のみ150
へ変更。それ以外はDBアプライアンスのデフォルトを利用しております。
結果
各テスト結果のlatency average及びtpsを表にまとめました。
構成 | latency average | tps (including connections establishing) | tps (excluding connections establishing) |
---|---|---|---|
30GBプラン ディスク暗号化無し | 69.173 | 1445.645112 | 1446.064715 |
30GBプラン ディスク暗号化有り | 70.196 | 1424.591209 | 1425.105450 |
90GBプラン ディスク暗号化無し | 31.416 | 3183.081319 | 3184.814539 |
90GBプラン ディスク暗号化有り | 31.325 | 3192.378138 | 3193.853041 |
240GBプラン ディスク暗号化無し | 22.370 | 4470.280996 | 4471.112637 |
240GBプラン ディスク暗号化有り | 22.427 | 4458.848276 | 4459.651519 |
考察
30GBプランと240GBプランは想定通りに暗号化無しよりも暗号化有りの方がパフォーマンス低下を確認できた。
90GBプランは逆転しているため、ホストの影響などベンチマーク時に何か阻害要因があったのかなど調べたい。
いずれの結果にしても誤差範囲であることが確認できる。
あとがき
今回はアドベントカレンダー向けの簡易計測なのでRDBMSや環境も絞った形となりますが、何かのタイミングでパターンを増やしたりベンチマーク測定方法の見直しなどを行い、より正確な検証結果を公表できればと思っております。