Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O proxy RDS afeta o pool do lado do aplicativo atual?


Com um proxy de banco de dados no meio, há duas pernas separadas para uma "conexão":
  1. Primeiro, há uma conexão do aplicativo com o proxy. O que você chamou de "pooling do lado do aplicativo" é esse tipo de conexão. Como ainda há sobrecarga associada à criação de uma nova instância desse tipo de conexão, provavelmente é uma boa ideia continuar usando um pool de conexões em seu aplicativo.
  2. Segundo, há uma conexão do proxy com o banco de dados. Essas conexões são gerenciadas pelo proxy. O número de conexões desse tipo é controlado por uma configuração de proxy. Se você definir essa configuração para 100%, estará permitindo que o proxy use até as max_connections do banco de dados valor , e outros clientes podem estar famintos por conexões.

Portanto, quando seu aplicativo deseja usar uma conexão, ele precisa obter uma conexão de seu pool local. Em seguida, o proxy precisa emparelhar isso com uma conexão com o banco de dados. O proxy reutilizará as conexões com o banco de dados sempre que possível (essa técnica também é chamada de multiplexação ).

Ou, citando os documentos oficiais:"Você pode abrir muitas conexões simultâneas com o proxy, e o proxy mantém um número menor de conexões abertas para a instância de banco de dados ou cluster. Isso minimiza ainda mais a sobrecarga de memória para conexões no servidor de banco de dados. Isso técnica também reduz a chance de erros de "conexões demais".