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?

pgbenchを使ってAurora Serverless V2のPostgreSQLサーバーの負荷テストを実施してみよう

0
Posted at

みなさん、こんにちは!
Aurora Serverless v2を利用する環境で、負荷テストやScallingのテストを実施したい場合に利用できる負荷ツールとしてpgbenchがあげられます。
今回はpgbenchを利用してAuroraのPostgre SQLサーバーに対して負荷をかけてテストする方法についてまとめます。

前提条件

  • pgbenchはEC2インスタンス(m5.large)
  • Aurora Serverless v2 (PostgreSQL)

1. 前準備

1-1. PostgreSQL, PostgreSQLのクライアントツールをインストール

以下コマンドを実行します

sudo dnf install postgresql16 -y
sudo dnf install postgresql16-contrib -y

1-2. 確認

バージョンを確認し、正常にインストールされていることを確認します

$ pgbench --version
pgbench (PostgreSQL) 16.10

1-3. ログイン確認

  • Defaultのデータベースに接続する
    []内は必要に応じて書き換えてください
  • DB接続時にパスワードが求められます
psql -h [aurora-cluster-name.cluster-***.ap-northeast-1.rds.amazonaws.com] -p 5432 -U [USERNAME] -d [DATABASE]

1-4. 負荷テスト用のDBを作成する

  • 以下コマンドでデータベースを作成します
CREATE DATABASE loadtest_db;
  • 確認
    ・データベースが新規作成され、一覧表示やSELECTクエリが実行できることを確認します。
¥l

もしくは

SELECT datname
FROM pg_database
WHERE datname = 'loadtest_db';
  • 確認後、データベースからログアウトします。
¥q

2. pgbenchを使用して負荷をかける

2-1. ベンチマークデータ初期化

以下のコマンドを実行し、初期化を実行します
-sオプションを10に指定し、1,000,000レコードの初期データを生成します

pgbench -i -s 10 -U [USERNAME] -h [aurora-cluster-name.cluster-***.ap-northeast-1.rds.amazonaws.com] -d loadtest_db

2-2. 負荷テスト実施

  • -c: クライアント接続数を指定 (何人のユーザーが接続するか)
  • -j: スレッド数を指定 (コマンドを実行するローカルマシンで使用するスレッド数)
  • -T: テスト時間を指定
pgbench -c 50 -j 2 -T 60 -h [aurora-cluster-name.cluster-***.ap-northeast-1.rds.amazonaws.com] -U [USERNAME] -d loadtest_db

2-3. 結果確認

以下のような結果が出力されます

transaction type: <builtin: TPC-B (sort of)>
scaling factor: 100
query mode: simple
number of clients: 50
number of threads: 2
maximum number of tries: 1
duration: 60 s
number of transactions actually processed: 39829
number of failed transactions: 0 (0.000%)
latency average = 74.747 ms
initial connection time = 542.004 ms
tps = 668.926181 (without initial connection time)

結果をまとめると下表のようになります
適宜、確認したい項目の結果を確認してください

項目 備考
transaction type TPC-B (sort of) 組み込みの読み書き混合ワークロード
scaling factor 100 データ量指標
query mode simple Prepared を使わない実行モード
number of clients 50 同時クライアント数
number of threads 2 pgbench のスレッド数
maximum number of tries 1 トランザクション再試行回数上限
duration 60 s テスト実行時間
number of transactions processed 39,829 実行されたトランザクション数
number of failed transactions 0 (0.000%) 失敗なし
latency average 74.747 ms トランザクション平均応答時間
initial connection time 542.004 ms 接続確立に要した合計時間
tps 668.926181 Transactions Per Secondの略称

さいごに

pgbenchを利用することで、Auroraに対して簡単に負荷をかけることができます。
ぜひ、ご利用してみてはいかがでしょうか!

お知らせ

よければ、こちらも覗いてみてください。

KUMA CAFE
KUMA CAFE
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?