ablog

不器用で落着きのない技術者のメモ

Aurora PostgreSQL に RDS Proxy 経由で同時多重でクエリを発行中に Reader インスタンスを削除してみる

Aurora PostgreSQL に RDS Proxy 経由で同時多重でクエリを発行中に Reader インスタンスを削除すると、クエリでエラーが発生するか確認してみた。

To Do

  • pgbench で -d オプション付きで試す。

検証手順

  • psql で接続する
$ psql -h apg117-2-test-read-only.endpoint.proxy-********.ap-northeast-1.rds.amazonaws.com -p 5432 -d postgres -U awsuser
  • pgbench でテーブルを作成してデータをロードする
$ pgbench -i -s 1000 -U awsuser -h apg117-2-test.proxy-********.ap-northeast-1.rds.amazonaws.com -d postgres
  • pgbench で負荷をかける
$  nohup pgbench -Sn -c 300 -j 300 -t 10000 -U awsuser -h apg117-2-test-read-only.endpoint.proxy-********.ap-northeast-1.rds.amazonaws.com -d postgres -p 5432 > reader_delete_202109301213.log 2>&1 &

検証結果

  • reader_delete_202109301213.log
pghost: apg117-2-test-read-only.endpoint.proxy-********.ap-northeast-1.rds.amazonaws.com pgport: 5432 nclients: 300 nxacts: 10000 dbName: postgres
transaction type: SELECT only
scaling factor: 1000
query mode: simple
number of clients: 300
number of threads: 300
number of transactions per client: 10000
number of transactions actually processed: 2498607/3000000 ★
tps = 1171.672954 (including connections establishing)
tps = 1172.147579 (excluding connections establishing)

構成