sql >> Database >  >> RDS >> Mysql

Heeft de RDS-proxy invloed op de huidige pooling aan de applicatiezijde?

Met een databaseproxy in het midden zijn er twee afzonderlijke poten naar een "verbinding":

  1. Eerst is er een verbinding van de applicatie naar de proxy. Wat u de "application side pooling" noemde, is dit type verbinding. Aangezien er nog steeds overhead is verbonden aan het maken van een nieuwe instantie van dit type verbinding, is het waarschijnlijk een goed idee om een ​​verbindingspool in uw toepassing te blijven gebruiken.
  2. Ten tweede is er een verbinding van de proxy met de database. Deze verbindingen worden beheerd door de proxy. Het aantal verbindingen van dit type wordt gecontroleerd door een proxyconfiguratie. Als u deze configuratie instelt op 100%, staat u de proxy toe om maximaal de max_connections van de database waarde , en andere klanten kunnen honger lijden naar verbindingen.

Dus wanneer uw toepassing een verbinding wil gebruiken, moet deze een verbinding krijgen van de lokale pool. Vervolgens moet de proxy dat koppelen aan een verbinding met de database. De proxy zal waar mogelijk verbindingen met de database hergebruiken (deze techniek wordt ook wel multiplexen ).

Of, de officiële documenten citerend:"U kunt veel gelijktijdige verbindingen met de proxy openen, en de proxy houdt een kleiner aantal verbindingen open naar de DB-instantie of cluster. Hierdoor wordt de geheugenoverhead voor verbindingen op de databaseserver verder geminimaliseerd. techniek verkleint ook de kans op "te veel verbindingen" fouten."




  1. Uitvoeringstijd van testquery's in laravel

  2. MySQL-opdrachtregelopmaak met UTF8

  3. Snelle MySQL-tip:de functie LENGTH en TRIM gebruiken

  4. PostgreSQL-query erg traag met limiet 1