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)