Максимальное значение max_connections в микроэкземпляре AWS RDS

20

В настоящее время значение max_connectionsпараметра в модели сервера MySQL RDS t1.micro равно {DBInstanceClassMemory/12582880}32.

Поскольку мой сервер не разрешает больше подключений после 32, какое максимальное безопасное значение max_connectionsя могу использовать для микро экземпляра?

Соломенная шляпа
источник
1
Справочная документация по продукту AWS RDS доступна по адресу awsdocs.s3.amazonaws.com/RDS/latest/rds-ug.pdf
Дэмиен Эллисон,

Ответы:

32

Около 2 лет назад мне было поручено оценить Amazon RDS для MySQL. Я написал несколько постов в DBA StackExchange о своих выводах и наблюдениях:

Короче говоря, есть три варианта, которые вы не можете изменить

Вот диаграмма, которую я сделал, показывающая эти ограничения для каждой модели сервера

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)

Что касается вашего фактического вопроса, t1.microимеет 34 в качестве параметра max_connections . Если вы не можете превзойти 32, это вполне понятно. Amazon AWS должен иметь возможность подключаться и отслеживать объекты для экземпляра RDS в качестве СУПЕР- пользователя. Неспособность выйти за пределы 32 разумно для t1.microпримера. В свете этого у вас не будет иного выбора, кроме как доверять схеме управления, управляемой Amazon, для распределения max_connections и других параметров среди всех экземпляров MySQL в облаке AWS.

RolandoMySQLDBA
источник
Хороший ответ. но я думал, что смогу изменить его в пользовательской группе параметров. Значит, нет другого способа, кроме как увеличить размер экземпляра?
Соломенная Шляпа
Только эти 3 варианта являются неизменными для справедливого распределения циклов ЦП, памяти и общей производительности для всех работающих экземпляров MySQL RDS.
RolandoMySQLDBA
Все ссылки полезны. ты спас мне день
Соломенная Шляпа
1
Чтобы проверить ваши max_connections, попробуйте следующую команду: select @@ max_connections;
stevendaniels
1
Смотрите мой ответ ниже serverfault.com/a/740138/104677
advncd
14

Вот что вы можете сделать, чтобы изменить max_connectionsили любой другой параметр в экземпляре AWS RDS (mysql):

  • Из консоли RDS перейдите в Группы параметров
  • Создайте новую группу параметров на основе группы по умолчанию и назовите ее my-param-group
  • Изменить max_connectionsили другие параметры вmy-param-group
  • Вернитесь на главную страницу экземпляра и нажмите кнопку Modify in Instance Action , чтобы изменить экземпляр
  • Выберите my-param-groupв качестве группы параметров БД
  • Перезагрузите свой экземпляр
  • Выполнено!
advncd
источник
1
Я думаю, что это должен быть принятый ответ сейчас
lucaConfa
9

Похоже, что все изменилось с момента принятия ответа. После просмотра этого потока я запустил тест на экземпляре MySQL RDS db.m3.medium с max_connection, вручную установленным в 2000 с использованием групп параметров БД. Я смог создать 2000 соединений и только после этого получил ожидаемую ошибку Too Many Connections.

Джордж П
источник