Each connection carries the load of per-connection buffers as set by these parameters
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
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