Partilhar via


Agrupamento de Conexões

Conectar-se a uma fonte de dados pode ser demorado. Para minimizar o custo de abertura de conexões, a ADO.NET usa uma técnica de otimização chamada pool de conexões, que minimiza o custo de abrir e fechar conexões repetidamente. O pool de conexões é tratado de forma diferente para os provedores de dados do .NET Framework. Embora o pool de conexões melhore o desempenho e a utilização de recursos, vários fatores podem influenciar sua eficiência, dependendo do ambiente e da configuração do banco de dados:

  • Limites de conexão e restrições de recursos: Em ambientes de banco de dados, os limites de conexão geralmente estão vinculados a camadas de serviço ou configurações de recursos. Por exemplo, o Banco de Dados SQL do Azure define limites de conexão com base na camada de serviço selecionada, enquanto a Instância Gerenciada SQL do Azure impõe limites com base em recursos alocados, como CPU, memória ou vCores. Quando as configurações do pool de conexões excedem esses limites, os aplicativos podem enfrentar conexões rejeitadas, limitação ou desempenho degradado.

  • Métodos de autenticação: mecanismos de autenticação por token, como a autenticação do Microsoft Entra ID, podem impactar o agrupamento de conexões devido à expiração do token. Tokens expirados podem invalidar conexões dentro do pool, interrompendo a reutilização. Esse comportamento ocorre em sistemas de banco de dados baseados em nuvem e locais que usam protocolos de autenticação modernos.

  • latência de rede e pontos de extremidade: A latência de rede e as configurações dos pontos de extremidade podem influenciar a eficiência da formação de pools de conexões. Os pontos de extremidade públicos, comumente usados em bancos de dados hospedados na nuvem, normalmente introduzem latência mais alta em comparação com conexões privadas ou diretas. Em aplicativos nativos da nuvem com endereçamento IP dinâmico, a reutilização da conexão pode ser interrompida se as regras de firewall não forem atualizadas para acomodar endereços IP alterados.

  • Requisitos de criptografia: bancos de dados que impõem a criptografia TLS/SSL exigem alinhamento entre as configurações do pool de conexões e as configurações de criptografia. Por exemplo, omitir os parâmetros de criptografia necessários em cadeias de conexão, como Encrypt=True, pode levar a falhas de conexão, reduzindo a eficiência do pooling.

  • Resolução DNS: Pontos de extremidade privados e configurações DNS personalizadas podem representar desafios para o agrupamento de ligações. Configurações de DNS mal configuradas ou inconsistentes podem atrasar ou bloquear o estabelecimento da conexão, afetando o desempenho e a confiabilidade da reutilização da conexão. Isso é especialmente relevante em ambientes com configurações de nuvem híbrida ou privada.

Nesta seção

Pool de Conexões do SQL Server (ADO.NET)
Fornece uma visão geral do pool de conexões e descreve como o pool de conexões funciona no SQL Server.

de pool de conexões OLE DB, ODBC e Oracle
Descreve o pool de conexões para o Provedor de Dados do .NET Framework para OLE DB, o Provedor de Dados do .NET Framework para ODBC e o Provedor de Dados do .NET Framework para Oracle.

Ver também