In this article, we’ll explain AWS RDS Max Connections Limit as per Instance Type. Amazon Web Services (AWS) offers a range of cloud-based services, including the Amazon Relational Database Service (RDS), which provides a fully-managed database service for applications. One of the critical considerations when using RDS is the maximum number of connections allowed for a database instance. In this article, we will explore the concept of maximum connections, the factors that affect it, and how to manage it in AWS RDS.
What is the maximum connections limit in AWS RDS?
The maximum connections limit refers to the maximum number of concurrent database connections that can be established to an RDS instance. It is a fundamental parameter that affects the performance, availability, and scalability of the database. The maximum connection limit varies depending on the RDS instance class and the database engine used.
However, reaching the maximum connection limit does not necessarily mean that the database will perform well. Too many active connections can lead to contention and poor performance. It is essential to monitor the database performance and tune the settings accordingly.
How to manage the maximum connections limit in AWS RDS
Managing the maximum connections limit is critical to ensure the performance and availability of the database. AWS RDS provides several options to manage the maximum connections limit.
Monitoring
It is essential to monitor the maximum connections limit regularly to ensure that the database is not reaching its limit. Amazon CloudWatch provides metrics to monitor the maximum connections limit. You can create an alarm that triggers when the maximum connections limit is close to being reached.
Modifying the maximum connections limit
If you need to increase or decrease the maximum connections limit, you can modify the database parameter group associated with the RDS instance. The database parameter group contains database engine configuration options, including the maximum connections limit. You can modify the maximum connections limit parameter and apply the changes to the database instance.
Connection pooling
Connection pooling can help manage the maximum connections limit by reducing the number of connections required by the application. Connection pooling allows the application to reuse existing connections instead of creating new connections for every request.
Load balancing
Load balancing can help manage the maximum connections limit by distributing the incoming connections across multiple database instances. AWS RDS supports load balancing through Amazon RDS Proxy, which provides a highly available and scalable database proxy for applications to connect to RDS instances. Amazon RDS Proxy can help manage the maximum connections limit by distributing the incoming connections across multiple database instances.
Query optimization
Query optimization can help manage the maximum connections limit by reducing the time required for each query. Optimized queries can reduce the number of active connections required by the application, allowing the database to handle more concurrent connections.
Scaling the RDS instance
If you reach the maximum connections limit frequently, it may be time to consider scaling up the RDS instance. Scaling up the instance class can increase the maximum connections limit and provide more resources to the database. AWS RDS also supports scaling out through read replicas, which can help manage the maximum connections limit by distributing the read workload across multiple database instances.
RDS Max-DB Connection Limits as per DB Instance Type
Do and don’t and along with common mistakes:
Here are some do’s and don’ts, along with common mistakes, when working with AWS RDS Max Connections Limit:
Do’s:
1. Monitor Regularly: Monitor the maximum connections limit regularly to ensure it is not reaching its maximum capacity. Use Amazon CloudWatch to set up alarms when the limit is close to being reached.
2. Plan for Scalability: Consider the future scalability of your application and choose an appropriate RDS instance type with enough maximum connections to handle your expected growth.
3. Use Connection Pooling: Implement connection pooling in your application to reuse existing connections instead of creating new connections for each request. This can help manage the number of connections required and improve performance.
4. Optimize Queries: Optimize your database queries to reduce the time required for each query. Efficient queries can lead to fewer active connections, allowing the database to handle more concurrent connections.
5. Consider Load Balancing: If your application requires a high number of connections, consider using load balancing to distribute incoming connections across multiple RDS instances. Amazon RDS Proxy can be helpful in this regard.
6. Scale Up or Out: If you frequently reach the maximum connections limit, consider scaling up your RDS instance to a larger instance class or scaling out by using read replicas to distribute the workload.
Don’ts:
1. Ignore Monitoring: Ignoring monitoring of the maximum connection limit can lead to unexpected bottlenecks and performance issues.
2. Modify Default Parameter Groups: Avoid modifying values in the default DB parameter group, as you can’t change parameter values in it. Instead, create a custom DB parameter group for modifications.
3. Rely on Unlimited Connections: For SQL Server, be cautious when setting the maximum number of concurrent connections to 0 (unlimited). It may lead to excessive resource usage and performance degradation if not managed properly.
Common Mistakes:
1. Not Setting Appropriate Max Connections: Not setting an appropriate maximum connection limit for your RDS instance can lead to connection errors or poor performance when the application reaches the limit.
2. Using Default Parameter Groups: Modifying values in the default parameter group can result in errors and make it difficult to manage RDS instances effectively.
3. Overlooking Connection Pooling: Not implementing connection pooling can lead to an excessive number of connections being opened and closed, impacting the overall database performance.
4. Not Scaling as Needed: Failing to scale up or out when needed can cause performance bottlenecks and limit your application’s ability to handle increased traffic.
5. Neglecting Query Optimization: Ignoring query optimization can lead to poorly performing queries and increased resource usage, potentially reaching the maximum connections limit faster.
By following these do’s and avoiding the don’ts and common mistakes, you can effectively manage the AWS RDS Max Connections Limit and ensure optimal performance and availability of your database instance.
What is Max DB Connection?
Determines the maximum number of concurrent connections to the database server. This chart shows the max_connections limit, set by AWS, at various MySQL RDS instance sizes.
AWS sets the MySQL max connections system varies according to the size of the RDS instance. max connections are the maximum permitted number of simultaneous or concurrent client connections. A “Too many connections” error message may be displayed if this is reached.
If an application implements long-running queries or creates several concurrent connections from the web or app side, the number of connections is just as important as vCPU cores, memory level, or storage IO.
for more info, see the MySQL max_connections sys variable, or AWS’s post regarding DB parameter groups.
AWS RDS Max Connections Limit
In this article, we’re going to explain MySQL RDS Max DB Connection Limits as per DB Instance Type. The current RDS MySQL max_connections setting is default by {DBInstanceClassMemory/12582880}, if you use t2.micro with 1GB RAM the max_connections could be (1024*1024*1024)/12582880 ~= 85.
A solution to “ERROR 1040 (08004): Too many connections”
How AWS RDS Max Connections calculated?
You need to convert memory from GB to bytes. So, you will get the DBInstanceClassMemory value and then you divide it by 12582880.
1GB = 1,07,37,41,824 bytes (1024 x 1024 x1024)
Maximum Database Connections Chart
DB Engine | Parameter | Allowed Values | Default Value |
MariaDB and MySQL | max_connections | 1–100000 | {DBInstanceClassMemory/12582880} |
Oracle
|
processes | 80–20000 | LEAST({DBInstanceClassMemory/9868951}, 20000) |
sessions | 100–65535 | – | |
PostgreSQL | max_connections | 6–8388607 | LEAST({DBInstanceClassMemory/9531392}, 5000) |
SQL Server | Maximum number of concurrent connections | 0–32767 | 0 (unlimited) |
This chart shows the AWS RDS Max Connections Limit set by AWS at various RDS instance sizes.
AWS RDS Max Connections Limit as per Instance Type
RDS MySQL max_connections chart
Name | API Name | Memory GIB | vCPUs | max_connections |
T1 Micro | db.t1.micro | 0.613 GiB | 1 vCPUs | 52 |
T2 General Purpose Micro | db.t2.micro | 1 GiB | 1 vCPUs | 85 |
T3 Micro | db.t3.micro | 1 GiB | 2 vCPUs | 85 |
T4G Micro | db.t4g.micro | 1 GiB | 2 vCPUs | 85 |
M1 General Purpose Small | db.m1.small | 1.7 GiB | 1 vCPUs | 145 |
T2 General Purpose Small | db.t2.small | 2 GiB | 1 vCPUs | 171 |
T3 Small | db.t3.small | 2 GiB | 2 vCPUs | 171 |
T4G Small | db.t4g.small | 2 GiB | 2 vCPUs | 171 |
M1 General Purpose Medium | db.m1.medium | 3.75 GiB | 1 vCPUs | 320 |
M3 General Purpose Medium | db.m3.medium | 3.75 GiB | 1 vCPUs | 320 |
T2 General Purpose Medium | db.t2.medium | 4 GiB | 2 vCPUs | 341 |
T3 Medium | db.t3.medium | 4 GiB | 2 vCPUs | 341 |
T4G Medium | db.t4g.medium | 4 GiB | 2 vCPUs | 341 |
M1 General Purpose Large | db.m1.large | 7.5 GiB | 2 vCPUs | 640 |
M3 General Purpose Large | db.m3.large | 7.5 GiB | 2 vCPUs | 640 |
M4 General Purpose Large | db.m4.large | 8 GiB | 2 vCPUs | 683 |
M5 Large | db.m5.large | 8 GiB | 2 vCPUs | 683 |
M5D Large | db.m5d.large | 8 GiB | 2 vCPUs | 683 |
M6G Large | db.m6g.large | 8 GiB | 2 vCPUs | 683 |
M6GD Large | db.m6gd.large | 8 GiB | 2 vCPUs | 683 |
M6I Large | db.m6i.large | 8 GiB | 2 vCPUs | 683 |
T2 General Purpose Large | db.t2.large | 8 GiB | 2 vCPUs | 683 |
T3 Large | db.t3.large | 8 GiB | 2 vCPUs | 683 |
T4G Large | db.t4g.large | 8 GiB | 2 vCPUs | 683 |
M1 General Purpose Extra Large | db.m1.xlarge | 15 GiB | 4 vCPUs | 1280 |
M3 General Purpose Extra Large | db.m3.xlarge | 15 GiB | 4 vCPUs | 1280 |
R3 Memory Optimized Large | db.r3.large | 15.25 GiB | 2 vCPUs | 1301 |
R4 Memory Optimized Large | db.r4.large | 15.25 GiB | 2 vCPUs | 1301 |
R5 Large | db.r5.large | 16 GiB | 2 vCPUs | 1365 |
R5B Large | db.r5b.large | 16 GiB | 2 vCPUs | 1365 |
R5D Large | db.r5d.large | 16 GiB | 2 vCPUs | 1365 |
R6G Large | db.r6g.large | 16 GiB | 2 vCPUs | 1365 |
R6GD Large | db.r6gd.large | 16 GiB | 2 vCPUs | 1365 |
R6I Large | db.r6i.large | 16 GiB | 2 vCPUs | 1365 |
Z1D Large | db.z1d.large | 16 GiB | 2 vCPUs | 1365 |
M4 General Purpose Extra Large | db.m4.xlarge | 16 GiB | 4 vCPUs | 1365 |
M5 Extra Large | db.m5.xlarge | 16 GiB | 4 vCPUs | 1365 |
M5D Extra Large | db.m5d.xlarge | 16 GiB | 4 vCPUs | 1365 |
M6G Extra Large | db.m6g.xlarge | 16 GiB | 4 vCPUs | 1365 |
M6GD Extra Large | db.m6gd.xlarge | 16 GiB | 4 vCPUs | 1365 |
M6I Extra Large | db.m6i.xlarge | 16 GiB | 4 vCPUs | 1365 |
T2 General Purpose Extra Large | db.t2.xlarge | 16 GiB | 4 vCPUs | 1365 |
T3 Extra Large | db.t3.xlarge | 16 GiB | 4 vCPUs | 1365 |
T4G Extra Large | db.t4g.xlarge | 16 GiB | 4 vCPUs | 1365 |
M2 High Memory Extra Large | db.m2.xlarge | 17.1 GiB | 2 vCPUs | 1459 |
M3 General Purpose Double Extra Large | db.m3.2xlarge | 30 GiB | 8 vCPUs | 2560 |
R3 Memory Optimized Extra Large | db.r3.xlarge | 30.5 GiB | 4 vCPUs | 2603 |
R4 Memory Optimized Extra Large | db.r4.xlarge | 30.5 GiB | 4 vCPUs | 2603 |
R5 Large | db.r5.large.tpc1.mem2x | 32 GiB | 2 vCPUs | 2731 |
R5B Large | db.r5b.large.tpc1.mem2x | 32 GiB | 2 vCPUs | 2731 |
X2G Large | db.x2g.large | 32 GiB | 2 vCPUs | 2731 |
R5 Extra Large | db.r5.xlarge | 32 GiB | 4 vCPUs | 2731 |
R5B Extra Large | db.r5b.xlarge | 32 GiB | 4 vCPUs | 2731 |
R5D Extra Large | db.r5d.xlarge | 32 GiB | 4 vCPUs | 2731 |
R6G Extra Large | db.r6g.xlarge | 32 GiB | 4 vCPUs | 2731 |
R6GD Extra Large | db.r6gd.xlarge | 32 GiB | 4 vCPUs | 2731 |
R6I Extra Large | db.r6i.xlarge | 32 GiB | 4 vCPUs | 2731 |
Z1D Extra Large | db.z1d.xlarge | 32 GiB | 4 vCPUs | 2731 |
M4 General Purpose Double Extra Large | db.m4.2xlarge | 32 GiB | 8 vCPUs | 2731 |
M5 Double Extra Large | db.m5.2xlarge | 32 GiB | 8 vCPUs | 2731 |
M5D Double Extra Large | db.m5d.2xlarge | 32 GiB | 8 vCPUs | 2731 |
M6G Double Extra Large | db.m6g.2xlarge | 32 GiB | 8 vCPUs | 2731 |
M6GD Double Extra Large | db.m6gd.2xlarge | 32 GiB | 8 vCPUs | 2731 |
M6I Double Extra Large | db.m6i.2xlarge | 32 GiB | 8 vCPUs | 2731 |
T2 General Purpose Double Extra Large | db.t2.2xlarge | 32 GiB | 8 vCPUs | 2731 |
T3 Double Extra Large | db.t3.2xlarge | 32 GiB | 8 vCPUs | 2731 |
T4G Double Extra Large | db.t4g.2xlarge | 32 GiB | 8 vCPUs | 2731 |
M2 High Memory Double Extra Large | db.m2.2xlarge | 34.2 GiB | 4 vCPUs | 2918 |
R3 Memory Optimized Double Extra Large | db.r3.2xlarge | 61 GiB | 8 vCPUs | 5205 |
R4 Memory Optimized Double Extra Large | db.r4.2xlarge | 61 GiB | 8 vCPUs | 5205 |
R5 Extra Large | db.r5.xlarge.tpc2.mem2x | 64 GiB | 4 vCPUs | 5461 |
R5B Extra Large | db.r5b.xlarge.tpc2.mem2x | 64 GiB | 4 vCPUs | 5461 |
X2G Extra Large | db.x2g.xlarge | 64 GiB | 4 vCPUs | 5461 |
R5 Double Extra Large | db.r5.2xlarge | 64 GiB | 8 vCPUs | 5461 |
R5B Double Extra Large | db.r5b.2xlarge | 64 GiB | 8 vCPUs | 5461 |
R5D Double Extra Large | db.r5d.2xlarge | 64 GiB | 8 vCPUs | 5461 |
R6G Double Extra Large | db.r6g.2xlarge | 64 GiB | 8 vCPUs | 5461 |
R6GD Double Extra Large | db.r6gd.2xlarge | 64 GiB | 8 vCPUs | 5461 |
R6I Double Extra Large | db.r6i.2xlarge | 64 GiB | 8 vCPUs | 5461 |
Z1D Double Extra Large | db.z1d.2xlarge | 64 GiB | 8 vCPUs | 5461 |
M4 General Purpose Quadruple Extra Large | db.m4.4xlarge | 64 GiB | 16 vCPUs | 5461 |
M5 Quadruple Extra Large | db.m5.4xlarge | 64 GiB | 16 vCPUs | 5461 |
M5D Quadruple Extra Large | db.m5d.4xlarge | 64 GiB | 16 vCPUs | 5461 |
M6G Quadruple Extra Large | db.m6g.4xlarge | 64 GiB | 16 vCPUs | 5461 |
M6GD Quadruple Extra Large | db.m6gd.4xlarge | 64 GiB | 16 vCPUs | 5461 |
M6I Quadruple Extra Large | db.m6i.4xlarge | 64 GiB | 16 vCPUs | 5461 |
M2 High Memory Quadruple Extra Large | db.m2.4xlarge | 68.4 GiB | 8 vCPUs | 5837 |
Z1D 3xlarge | db.z1d.3xlarge | 96 GiB | 12 vCPUs | 8192 |
X1E Extra Large | db.x1e.xlarge | 122 GiB | 4 vCPUs | 10411 |
R3 Memory Optimized Quadruple Extra Large | db.r3.4xlarge | 122 GiB | 16 vCPUs | 10411 |
R4 Memory Optimized Quadruple Extra Large | db.r4.4xlarge | 122 GiB | 16 vCPUs | 10411 |
R5 Extra Large | db.r5.xlarge.tpc2.mem4x | 128 GiB | 4 vCPUs | 10923 |
R5B Extra Large | db.r5b.xlarge.tpc2.mem4x | 128 GiB | 4 vCPUs | 10923 |
X2IEDN Extra Large | db.x2iedn.xlarge | 128 GiB | 4 vCPUs | 10923 |
R5 Double Extra Large | db.r5.2xlarge.tpc1.mem2x | 128 GiB | 8 vCPUs | 10923 |
R5B Double Extra Large | db.r5b.2xlarge.tpc1.mem2x | 128 GiB | 8 vCPUs | 10923 |
X2G Double Extra Large | db.x2g.2xlarge | 128 GiB | 8 vCPUs | 10923 |
R5 Quadruple Extra Large | db.r5.4xlarge | 128 GiB | 16 vCPUs | 10923 |
R5B Quadruple Extra Large | db.r5b.4xlarge | 128 GiB | 16 vCPUs | 10923 |
R5D Quadruple Extra Large | db.r5d.4xlarge | 128 GiB | 16 vCPUs | 10923 |
R6G Quadruple Extra Large | db.r6g.4xlarge | 128 GiB | 16 vCPUs | 10923 |
R6GD Quadruple Extra Large | db.r6gd.4xlarge | 128 GiB | 16 vCPUs | 10923 |
R6I Quadruple Extra Large | db.r6i.4xlarge | 128 GiB | 16 vCPUs | 10923 |
M5 Eight Extra Large | db.m5.8xlarge | 128 GiB | 32 vCPUs | 10923 |
M5D Eight Extra Large | db.m5d.8xlarge | 128 GiB | 32 vCPUs | 10923 |
M6G Eight Extra Large | db.m6g.8xlarge | 128 GiB | 32 vCPUs | 10923 |
M6GD Eight Extra Large | db.m6gd.8xlarge | 128 GiB | 32 vCPUs | 10923 |
M6I Eight Extra Large | db.m6i.8xlarge | 128 GiB | 32 vCPUs | 10923 |
M4 General Purpose Deca Extra Large | db.m4.10xlarge | 160 GiB | 40 vCPUs | 13653 |
Z1D 6xlarge | db.z1d.6xlarge | 192 GiB | 24 vCPUs | 16384 |
M5 12xlarge | db.m5.12xlarge | 192 GiB | 48 vCPUs | 16384 |
M5D 12xlarge | db.m5d.12xlarge | 192 GiB | 48 vCPUs | 16384 |
M6G 12xlarge | db.m6g.12xlarge | 192 GiB | 48 vCPUs | 16384 |
M6GD 12xlarge | db.m6gd.12xlarge | 192 GiB | 48 vCPUs | 16384 |
M6I 12xlarge | db.m6i.12xlarge | 192 GiB | 48 vCPUs | 16384 |
X1E Double Extra Large | db.x1e.2xlarge | 244 GiB | 8 vCPUs | 20821 |
R3 Memory Optimized Eight Extra Large | db.r3.8xlarge | 244 GiB | 32 vCPUs | 20821 |
R4 Memory Optimized Eight Extra Large | db.r4.8xlarge | 244 GiB | 32 vCPUs | 20821 |
R5 Double Extra Large | db.r5.2xlarge.tpc2.mem4x | 256 GiB | 8 vCPUs | 21845 |
R5B Double Extra Large | db.r5b.2xlarge.tpc2.mem4x | 256 GiB | 8 vCPUs | 21845 |
X2IEDN Double Extra Large | db.x2iedn.2xlarge | 256 GiB | 8 vCPUs | 21845 |
X2IEZN Double Extra Large | db.x2iezn.2xlarge | 256 GiB | 8 vCPUs | 21845 |
R5 Quadruple Extra Large | db.r5.4xlarge.tpc2.mem2x | 256 GiB | 16 vCPUs | 21845 |
R5B Quadruple Extra Large | db.r5b.4xlarge.tpc2.mem2x | 256 GiB | 16 vCPUs | 21845 |
X2G Quadruple Extra Large | db.x2g.4xlarge | 256 GiB | 16 vCPUs | 21845 |
R5 Eight Extra Large | db.r5.8xlarge | 256 GiB | 32 vCPUs | 21845 |
R5B Eight Extra Large | db.r5b.8xlarge | 256 GiB | 32 vCPUs | 21845 |
R5D Eight Extra Large | db.r5d.8xlarge | 256 GiB | 32 vCPUs | 21845 |
R6G Eight Extra Large | db.r6g.8xlarge | 256 GiB | 32 vCPUs | 21845 |
R6GD Eight Extra Large | db.r6gd.8xlarge | 256 GiB | 32 vCPUs | 21845 |
R6I Eight Extra Large | db.r6i.8xlarge | 256 GiB | 32 vCPUs | 21845 |
M4 General Purpose 16xlarge | db.m4.16xlarge | 256 GiB | 64 vCPUs | 21845 |
M5 16xlarge | db.m5.16xlarge | 256 GiB | 64 vCPUs | 21845 |
M5D 16xlarge | db.m5d.16xlarge | 256 GiB | 64 vCPUs | 21845 |
M6G 16xlarge | db.m6g.16xlarge | 256 GiB | 64 vCPUs | 21845 |
M6GD 16xlarge | db.m6gd.16xlarge | 256 GiB | 64 vCPUs | 21845 |
M6I 16xlarge | db.m6i.16xlarge | 256 GiB | 64 vCPUs | 21845 |
R5 Quadruple Extra Large | db.r5.4xlarge.tpc2.mem3x | 384 GiB | 16 vCPUs | 32768 |
R5B Quadruple Extra Large | db.r5b.4xlarge.tpc2.mem3x | 384 GiB | 16 vCPUs | 32768 |
R5 12xlarge | db.r5.12xlarge | 384 GiB | 48 vCPUs | 32768 |
R5B 12xlarge | db.r5b.12xlarge | 384 GiB | 48 vCPUs | 32768 |
R5D 12xlarge | db.r5d.12xlarge | 384 GiB | 48 vCPUs | 32768 |
R6G 12xlarge | db.r6g.12xlarge | 384 GiB | 48 vCPUs | 32768 |
R6GD 12xlarge | db.r6gd.12xlarge | 384 GiB | 48 vCPUs | 32768 |
R6I 12xlarge | db.r6i.12xlarge | 384 GiB | 48 vCPUs | 32768 |
Z1D 12xlarge | db.z1d.12xlarge | 384 GiB | 48 vCPUs | 32768 |
M5 24xlarge | db.m5.24xlarge | 384 GiB | 96 vCPUs | 32768 |
M5D 24xlarge | db.m5d.24xlarge | 384 GiB | 96 vCPUs | 32768 |
M6I 24xlarge | db.m6i.24xlarge | 384 GiB | 96 vCPUs | 32768 |
X1E Quadruple Extra Large | db.x1e.4xlarge | 488 GiB | 16 vCPUs | 41643 |
R4 Memory Optimized 16xlarge | db.r4.16xlarge | 488 GiB | 64 vCPUs | 41643 |
R5 Double Extra Large | db.r5.2xlarge.tpc2.mem8x | 512 GiB | 8 vCPUs | 43691 |
R5B Double Extra Large | db.r5b.2xlarge.tpc2.mem8x | 512 GiB | 8 vCPUs | 43691 |
R5 Quadruple Extra Large | db.r5.4xlarge.tpc2.mem4x | 512 GiB | 16 vCPUs | 43691 |
R5B Quadruple Extra Large | db.r5b.4xlarge.tpc2.mem4x | 512 GiB | 16 vCPUs | 43691 |
X2IEDN Quadruple Extra Large | db.x2iedn.4xlarge | 512 GiB | 16 vCPUs | 43691 |
X2IEZN Quadruple Extra Large | db.x2iezn.4xlarge | 512 GiB | 16 vCPUs | 43691 |
X2G Eight Extra Large | db.x2g.8xlarge | 512 GiB | 32 vCPUs | 43691 |
R5 16xlarge | db.r5.16xlarge | 512 GiB | 64 vCPUs | 43691 |
R5B 16xlarge | db.r5b.16xlarge | 512 GiB | 64 vCPUs | 43691 |
R5D 16xlarge | db.r5d.16xlarge | 512 GiB | 64 vCPUs | 43691 |
R6G 16xlarge | db.r6g.16xlarge | 512 GiB | 64 vCPUs | 43691 |
R6GD 16xlarge | db.r6gd.16xlarge | 512 GiB | 64 vCPUs | 43691 |
R6I 16xlarge | db.r6i.16xlarge | 512 GiB | 64 vCPUs | 43691 |
M6I 32xlarge | db.m6i.32xlarge | 512 GiB | 128 vCPUs | 43691 |
R5 6xlarge | db.r5.6xlarge.tpc2.mem4x | 768 GiB | 24 vCPUs | 65536 |
R5B 6xlarge | db.r5b.6xlarge.tpc2.mem4x | 768 GiB | 24 vCPUs | 65536 |
X2IEZN 6xlarge | db.x2iezn.6xlarge | 768 GiB | 24 vCPUs | 65536 |
R5 Eight Extra Large | db.r5.8xlarge.tpc2.mem3x | 768 GiB | 32 vCPUs | 65536 |
R5B Eight Extra Large | db.r5b.8xlarge.tpc2.mem3x | 768 GiB | 32 vCPUs | 65536 |
R5 12xlarge | db.r5.12xlarge.tpc2.mem2x | 768 GiB | 48 vCPUs | 65536 |
R5B 12xlarge | db.r5b.12xlarge.tpc2.mem2x | 768 GiB | 48 vCPUs | 65536 |
X2G 12xlarge | db.x2g.12xlarge | 768 GiB | 48 vCPUs | 65536 |
R5 24xlarge | db.r5.24xlarge | 768 GiB | 96 vCPUs | 65536 |
R5B 24xlarge | db.r5b.24xlarge | 768 GiB | 96 vCPUs | 65536 |
R5D 24xlarge | db.r5d.24xlarge | 768 GiB | 96 vCPUs | 65536 |
R6I 24xlarge | db.r6i.24xlarge | 768 GiB | 96 vCPUs | 65536 |
X1E Eight Extra Large | db.x1e.8xlarge | 976 GiB | 32 vCPUs | 83286 |
X1 16xlarge | db.x1.16xlarge | 976 GiB | 64 vCPUs | 83286 |
X2IEDN Eight Extra Large | db.x2iedn.8xlarge | 1024 GiB | 32 vCPUs | 87382 |
X2IEZN Eight Extra Large | db.x2iezn.8xlarge | 1024 GiB | 32 vCPUs | 87382 |
X2G 16xlarge | db.x2g.16xlarge | 1024 GiB | 64 vCPUs | 87382 |
X2IDN 16xlarge | db.x2idn.16xlarge | 1024 GiB | 64 vCPUs | 87382 |
R6I 32xlarge | db.r6i.32xlarge | 1024 GiB | 128 vCPUs | 87382 |
X2IEZN 12xlarge | db.x2iezn.12xlarge | 1536 GiB | 48 vCPUs | 131072 |
X2IDN 24xlarge | db.x2idn.24xlarge | 1536 GiB | 96 vCPUs | 131072 |
X1E 16xlarge | db.x1e.16xlarge | 1952 GiB | 64 vCPUs | 166571 |
X1 32xlarge | db.x1.32xlarge | 1952 GiB | 128 vCPUs | 166571 |
X2IEDN 16xlarge | db.x2iedn.16xlarge | 2048 GiB | 64 vCPUs | 174763 |
X2IDN 32xlarge | db.x2idn.32xlarge | 2048 GiB | 128 vCPUs | 174763 |
X2IEDN 24xlarge | db.x2iedn.24xlarge | 3072 GiB | 96 vCPUs | 262145 |
X1E 32xlarge | db.x1e.32xlarge | 3904 GiB | 128 vCPUs | 333142 |
X2IEDN 32xlarge | db.x2iedn.32xlarge | 4096 GiB | 128 vCPUs | 349526 |
When running a standby server, you must set this parameter to the same or higher value than on the master server. Otherwise, queries will not be allowed on the standby server.
Command to check max_db_connection in MySQL DB
# mysql>show max_connections;
You will get the below error if you try to update values in the “default parameter group”.
Error: Cannot modify a default parameter group. (Service: AmazonRDS; Status Code: 400; Error Code: InvalidParameterValue;
Steps to Create a DB Parameter Group
Step 1: Log in to the AWS console
Step 3: Click on Create Parameter Group, and select the DB parameter group family.
Step 4: Provide the name for the new DB parameter group and save it
Steps to Update Max Connection in RDS
Step 1: Login to AWS Console
Step 3: Click on the Parameter Group
Step 4: Search for max_connections and you’ll see the formula.
In my case, it’s {DBInstanceClassMemory/31457280}.
Step 5: Update the max_connections to 100 (check the value as per your instance type) and save the changes, no need to reboot.
If you have created a new DB parameter group then continue with the below steps:
Step 6: Go-to RDS instance and modify
Step 7: Select the new Parameter group created and choose to apply the immediate setting.
This will require/auto-restart the instance or there is another option you can choose to reboot the instance on the next AWS maintenance window.
Hope this helps!
This is the end of the article, where we have listed AWS RDS Max_connection Limits as per DB Instance Type.
If you found this article informative then don’t miss to read the below articles.
See Also:
When to switch to a bigger RDS instance
RDS Mysql ERROR max-prepared-stmt-count exceeded
How to Enable Slow Query Logs in AWS RDS MySQL
Alter on Big Table in RDS Solution to table full Error
Benefits and Security in Amazon Relational Database Service
How to Enable General Logs and Error Logs in AWS RDS