Mysql
 sql >> Base de données >  >> RDS >> Mysql

Le proxy RDS affecte-t-il le pooling côté application actuel ?

Avec un proxy de base de données au milieu, il y a deux étapes distinctes vers une "connexion" :

  1. Tout d'abord, il existe une connexion entre l'application et le proxy. Ce que vous appelez le "pooling côté application" est ce type de connexion. Étant donné qu'il y a toujours une surcharge associée à la création d'une nouvelle instance de ce type de connexion, continuer à utiliser un pool de connexions dans votre application est probablement une bonne idée.
  2. Deuxièmement, il existe une connexion entre le proxy et la base de données. Ces connexions sont gérées par le proxy. Le nombre de connexions de ce type est contrôlé par une configuration proxy. Si vous définissez cette configuration sur 100 %, vous autorisez le proxy à utiliser jusqu'à les max_connections de la base de données valeur , et d'autres clients peuvent manquer de connexions.

Ainsi, lorsque votre application souhaite utiliser une connexion, elle doit obtenir une connexion à partir de son pool local. Ensuite, le proxy doit associer cela à une connexion à la base de données. Le proxy réutilisera les connexions à la base de données dans la mesure du possible (cette technique est également appelée multiplexage ).

Ou, citant les documents officiels :"Vous pouvez ouvrir de nombreuses connexions simultanées au proxy, et le proxy conserve un plus petit nombre de connexions ouvertes à l'instance ou au cluster de base de données. Cela réduit davantage la surcharge de mémoire pour les connexions sur le serveur de base de données. Cela technique réduit également le risque d'erreurs "trop ​​de connexions"."