HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlModerate

Should I increase max_connections in AWS RDS t1-micro for MySQL?

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
micromax_connectionsmysqlincreaseawsshouldforrds

Problem

I have an AWS RDS t1-micro running MySQL 5.5. It gives me too many connections error. I checked and it allows 34 maximum connections concurrently. What I have read is that i can increase this max value by creating a DB parameter group for this Micro instance.

My confusion is

  • Should I increase the max connection value for micro in DB parameter group? or Should i consider upgrading to next RDS level which provides more maximum connections (125)?



  • Should I increase max_connections on micro RDS to 125 vs upgrading to RDS small instance?



  • Why and What factors should I make the decision on?



Thanks

Solution

Each connection carries the load of per-connection buffers as set by these parameters

  • join_buffer_size



  • sort_buffer_size



  • read_buffer_size



  • read_rnd buffer_size



Changing the number of connections increases the amount of memory each connection can demand to this : (join_buffer_size+sort_buffer_size+read_buffer_size
+read_rnd buffer_size) X max_connections

I have written about these before

  • Jan 03, 2012 : Understanding mysqltuner Recomendations w/ Unused Catalogs



  • Apr 24, 2012 : How costly is opening and closing of a DB connection?



  • Feb 01, 2013 : Show processlist / Max concurrent connections seem to max out at 131



ANALYSIS

Amazon has to set the number of connections based on each model's right to demand a certain amount of memory and connections

MODEL      max_connections innodb_buffer_pool_size
---------  --------------- -----------------------
t1.micro   34                326107136 (  311M)
m1-small   125              1179648000 ( 1125M,  1.097G)
m1-large   623              5882511360 ( 5610M,  5.479G)
m1-xlarge  1263            11922309120 (11370M, 11.103G)
m2-xlarge  1441            13605273600 (12975M, 12.671G)
m2-2xlarge 2900            27367833600 (26100M, 25.488G)
m2-4xlarge 5816            54892953600 (52350M, 51.123G)


I wrote about this as well : When should I think about upgrading our RDS MySQL instance based on memory usage?

This allows Amazon to do the following:

  • Charge you for each memory model based on seamless MySQL usage



  • Fairly Apportion Resources for MySQL RDS per region



  • Shoot yourself in the foot for tampering with per-connection settings



RECOMMENDATION

Perhaps you should try useing Amazon EC2 where you have no restrictions on access to my.cnf

Code Snippets

MODEL      max_connections innodb_buffer_pool_size
---------  --------------- -----------------------
t1.micro   34                326107136 (  311M)
m1-small   125              1179648000 ( 1125M,  1.097G)
m1-large   623              5882511360 ( 5610M,  5.479G)
m1-xlarge  1263            11922309120 (11370M, 11.103G)
m2-xlarge  1441            13605273600 (12975M, 12.671G)
m2-2xlarge 2900            27367833600 (26100M, 25.488G)
m2-4xlarge 5816            54892953600 (52350M, 51.123G)

Context

StackExchange Database Administrators Q#41829, answer score: 17

Revisions (0)

No revisions yet.