Com o pool de conexões gerenciado, é possível escalonar as cargas de trabalho otimizando o uso de recursos e a latência de conexão das instâncias do Cloud SQL. O pool de conexões gerenciado cria um pool de threads para processar as solicitações recebidas. Isso melhora significativamente o desempenho, especialmente para conexões escalonadas, absorvendo picos repentinos de conexão sem sobrecarregar o servidor com um aumento no número de linhas de execução.
Para mais informações sobre como ativar o pool de conexões gerenciado, consulte Configurar o pool de conexões gerenciado.
Requisitos
Para usar o pool de conexões gerenciado, sua instância precisa atender aos seguintes requisitos:
- Sua instância precisa ser da edição Cloud SQL Enterprise Plus.
- O pooling de conexões gerenciado requer um número mínimo de versão de manutenção de
MYSQL_$version.R20250531.01_10. Para mais informações sobre como realizar a manutenção de autoatendimento, consulte Realizar a manutenção de autoatendimento.
Opções de configuração avançada
É possível
personalizar o pool de conexões gerenciadas
modificando a opção de configuração max_pool_size.
A opção max_pool_size controla a quantidade de simultaneidade para o pooling de conexões gerenciado.
O valor padrão depende do número de núcleos de vCPU na configuração da máquina da instância.
Limitações
Ao usar o pool de conexões gerenciado com as instâncias da edição Cloud SQL Enterprise Plus, considere estas limitações:
- Ativar o pooling de conexões gerenciado em uma instância resulta na reinicialização do banco de dados.
- Quando o pool de conexões gerenciadas está ativado para sua instância, o valor da métrica
thread_cache_sizeé definido como 0 por padrão.
Pooling de linhas de execução x multiplexação de conexão
No Cloud SQL para MySQL, o pool de conexões gerenciadas usa um pool de linhas de execução do lado do servidor, em vez de um multiplexador de conexão externo:
- Pool de linhas de execução (pool de conexões gerenciadas): os clientes se conectam
diretamente ao servidor de banco de dados, que reutiliza um pool limitado de linhas de execução de worker (
max_pool_size) para executar consultas em sessões ativas, em vez de criar uma linha de execução dedicada por conexão. Isso reduz a sobrecarga de CPU e memória durante alta simultaneidade, mas cada conexão de cliente aberta ainda mantém uma sessão de servidor dedicada e conta para o limite demax_connections. - Multiplexação de conexão (como ProxySQL): os clientes se conectam por um proxy intermediário que compartilha um pool menor de conexões de banco de dados de back-end em várias conexões de cliente. Isso reduz diretamente o número total de conexões abertas do lado do servidor.
Se a carga de trabalho exigir a redução do número de conexões do lado do servidor para
evitar atingir o limite de max_connections, use um pool de conexões
externo, como o ProxySQL. Como alternativa, é possível
aumentar a flag max_connections com base
na capacidade de memória da instância.