The default formula use by AWS RDS to calculate the max_connections
parameter is: LEAST({DBInstanceClassMemory/9531392},5000)
But It's hard to find the exact value of DBInstanceClassMemory
.
So, here are the values I got when I ran the SQL commmand: show max_connections;
in some RDS instances:
Instance type | RAM (GB) | max_connections |
---|---|---|
db.t2.small | 2 | 198 |
db.t2.medium | 4 | 413 |
db.t2.large | 8 | 856 |
db.m4.large | 8 | 856 |
db.r4.large | 15.25 | 1660 |
These are default values. You can always change the max_connections
value in the parameters group of your DB.
You can use the query below to collect the value that is the result of the equation
LEAST({DBInstanceClassMemory/9531392},5000)
select * from pg_settings where name='max_connections';
max_connections
is the result of an equationIn some cases, depending on the way your system was built, you may end up reaching 100% CPU usage before you even reach half of the possible connections.
keep your eyes open for this.