Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

como o pool de conexões de banco de dados afeta o desempenho?


Não tenho estatísticas de desempenho em mãos, mas talvez um aviso ao usar o pool de conexões:você pode acabar com muitos pools pequenos, em vez de um grande.

O ADO.NET criará um novo pool de conexão para

  • cada cadeia de conexão; é muito exigente sobre isso também - se você tiver duas strings de conexão que são diferentes por apenas um único espaço ou algo assim, elas são consideradas duas strings de conexão separadas e levarão à criação de pools de conexão separados

  • para cada credencial do Windows se estiver usando a configuração "segurança integrada" (conexão confiável)

Então, se você tiver uma string de conexão, algo como
server=MyDBServer;database=MyDatabase;integrated security=SSPI;

será criado um pool de conexões para cada usuário distinto - isso é bastante contra-intuitivo, mas é assim que é (e não pode ser influenciado / desativado).

Confira os documentos do MSDN no pool de conexões ADO.NET para obter detalhes:

Além disso, se você tiver essas duas cadeias de conexão:
server=MyDBServer;database=MyDatabase;user id=tom;pwd=top$secret

e
server=MyDBServer;database=MyDatabase;user id=tom; pwd=top$secret;

esses são considerados diferentes cadeias de conexão e, portanto, dois pools de conexão separados serão criados.

Ao tentar medir o efeito do pool de conexões, isso é algo a ser observado!

Marco