AWS RDS max_connections limit variable is based on Instance type, so you can upgrade your RDS or make more replica.

The RDS types with max_connections limit:

  • t2.micro 66
  • t2.small 150
  • m3.medium 296
  • t2.medium 312
  • m3.large 609
  • t2.large 648
  • m4.large 648
  • m3.xlarge 1237
  • r3.large 1258
  • m4.xlarge 1320
  • m2.xlarge 1412
  • m3.2xlarge 2492
  • r3.xlarge 2540

Referring by max_connections at AWS RDS MySQL Instance Sizes in 2015

Update 2017-07

The current RDS MySQL max_connections setting is default by {DBInstanceClassMemory/12582880}, if you use t2.micro with 512MB RAM, the max_connections could be (512*1024*1024)/12582880 ~= 40, and so on.


Each Web server could have many connections to RDS, which depends on your SQL requests from Web server.


You can change the max_connections value by either updating the default parameter policy or create a new one - I'd suggest going with the latter.

  • Go to RDS
  • Parameter Groups
  • Create a new Parameter Group (AWS wil leave everything as default)
  • search for the max_connections value
  • Change the value to use
  • Go to RDS instance and modify
  • Select new Parameter group created and restart the instance or let AWS reboot it during next maintenance window

Hope this helps!


Actual info for Postgresql t3-instances (default.postgres10 parameter group):

  • db.t3.micro - 112 max_connections
  • db.t3.small - 225 max_connections
  • db.t3.medium - 450 max_connections
  • db.t3.large - 901 max_connections
  • db.t3.xlarge - 1802 max_connections
  • db.t3.2xlarge - 3604 max_connections

Its similar for default.postgres9 and default.postgres11


Login to your RDS instance (using a MySQL client) and run the following query:

SHOW VARIABLES LIKE 'max_connections';