80 votes

Limites de connexion à AWS RDS

Le serveur RDS s'affiche avec un maximum de 40 connexions, comme dans le cas suivant les documents suivants
J'utilise Magento 1.9, et à certains moments, j'atteins le nombre maximum de visiteurs, puis le site web est hors service.
Avez-vous une méthode recommandée pour résoudre ce problème ?

D'après ce que j'ai compris, si j'ai 2 serveurs web connectés à un serveur RDS, alors je devrais avoir 2 connexions RDS, pas plus.

0 votes

Merci @Michael-sqlbot Oui, j'ai mal compris, mais je voulais m'en assurer. Mais pourquoi lorsque nous avons 40 connexions qui arrivent à RDS, il refuse les autres connexions et reste inaccessible jusqu'à ce que les autres connexions soient fermées ?

0 votes

C'est à dessein, depuis le max_connections paramètre. Pour la plupart des charges de travail, vous devriez pouvoir l'augmenter en toute sécurité, car il s'agit d'une valeur par défaut prudente... mais vous devrez rechercher la cause de ces pics.

116voto

Nick Tsai Points 1218

La variable AWS RDS max_connections limit est basée sur le type d'instance, vous pouvez donc mettre à niveau votre RDS ou faire plus de répliques.

Les types de RDS avec la limite max_connections :

  • 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

Référencement par max_connections à AWS RDS MySQL Instance Sizes en 2015

Mise à jour 2017-07

Le paramètre actuel de RDS MySQL max_connections est par défaut par {DBInstanceClassMemory/12582880} si vous utilisez t2.micro avec 512 Mo de RAM, les connexions max_connections pourraient être (512*1024*1024)/12582880 ~= 40, et ainsi de suite.


Chaque serveur Web peut avoir de nombreuses connexions à RDS, ce qui dépend de vos requêtes SQL depuis le serveur Web.

0 votes

Je le sais, mais lorsque le serveur atteint 40 connexions, il ne répond pas ? Vérifiez ceci : drive.google.com/file/d/0B-_uggt0MBYOZElEMEItWDIwUEk/

0 votes

@AlaaBadran Quel est votre type d'instance RDS ?

2 votes

Je vérifie les groupes de paramètres RDS, le max_connections est par défaut de {DBInstanceClassMemory/12582880} Ainsi, lorsque vous utilisez t2.micro avec 512 Mo de RAM, la valeur de max_connections pourrait être la suivante (512*1024*1024)/12582880 = 40.69 ce qui pourrait expliquer vos 40 connexions maximales.

54voto

Stan Points 1

Vous pouvez modifier le max_connections en mettant à jour la politique de paramétrage par défaut ou en en créant une nouvelle - je vous suggère d'opter pour la seconde solution.

  • Aller à RDS
  • Groupes de paramètres
  • Créez un nouveau groupe de paramètres (AWS laissera tout par défaut).
  • recherche de la max_connections valeur
  • Changez la valeur pour utiliser
  • Allez dans l'instance RDS et modifiez
  • Sélectionnez le nouveau groupe de paramètres créé et redémarrez l'instance ou laissez AWS la redémarrer lors de la prochaine fenêtre de maintenance.

J'espère que cela vous aidera !

3 votes

<3 ceci devrait être la réponse acceptée

3 votes

Même si j'ai fixé max_connections à 1000, rds n'autorise toujours que 100 connexions max sur une instance micro

0 votes

@MiguelMota, c'est peut-être à cause de mysqlx_max_connections qui est fixé à 100 et immuable. Corrigez-moi si je me trompe.

16voto

anton.uspehov Points 241

Informations réelles pour Postgresql t3-instances (groupe de paramètres default.postgres10) :

  • db.t3.micro - 112 max_connexions
  • 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

C'est similaire pour default.postgres9 et default.postgres11.

8voto

Shammi Shailaj Points 171

Connectez-vous à votre instance RDS (en utilisant un client MySQL) et exécutez la requête suivante :

SHOW VARIABLES LIKE 'max_connections';

5voto

Chandra Medini Points 11

Le nombre maximal de connexions simultanées à la base de données varie en fonction du type de moteur de BD et de l'allocation de mémoire pour la classe d'instance de la BD. Le nombre maximal de connexions est défini dans le groupe de paramètres associé à l'instance de la BD, sauf pour Microsoft SQL Server, où il est défini dans les propriétés du serveur pour l'instance de la BD dans SQL Server Managment Studio (SSMS).

MariaDB/MySQL {DBInstanceClassMemory/12582880}

Oracle LEAST({DBInstanceClassMemory/9868951}, 20000)

PostgreSQL LEAST({DBInstanceClassMemory/9531392}, 5000)

SQL Server 0 (unlimited)

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.MaxConnections

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X