前言
在 Postgresql 世界裡每建立一個 Connection,都會有一個 process 來服務該請求,Postgresql 沒有 ThreadPool 概念所以在 Connection 使用量大時會發生一些問題
- 資源浪費
- 超過同時間超過 max_connection 後面連接會無法連接
一個 open source 插件 PgBouncer 就是幫我們解決上面問題,不過如果你是使用 AWS RDS 來當作 DB 就很適合使用 RDS Proxy
本次使用免費帳號範圍提供的機器 db.t2.micro
另外因為 RDS Proxy 在 EC2 內網才能連接,所以我也利用免費帳號準備一台 EC2 並安裝 pgbench
進行壓力測試
壓測前準備 & 說明
我把 max_connections
最大連接數量調整成 550