I Kept the Same Database Load and Changed Only the Connection Pool Size. Bigger Stopped Helping

After my previous experiment with PostgreSQL latency, I kept thinking about one very simple fix.
If requests spend too much time waiting for a database connection, why not just increase the connection pool?
It sounds reasonable.
More connections should mean less waiting. Less waiting should mean lower request latency. And if the database still has spare capacity, increasing the pool should solve the problem almost for free.
That logic is correct up to a point.
What I wanted to find was where that point actually is.
So I kept the workload unchanged and varied only one parameter: the maximum number of simultaneous database operations allowed by the connection pool.
The result was not that larger pools were bad.
It was something less dramatic and more useful.
A larger pool helped a lot while the system was undersized.
Then, quite suddenly, it stopped helping.
















