Um de nossos DBAs reclamou com nossa equipe que notou que cerca de uma dúzia de conexões adormecidas são praticamente permanentes. Cada um deles indica uma consulta muito curta (um único registro de um único registro foi retornado filtrado por seu PK clusterizado).
Minha suposição é que a causa é o uso do pool de conexões ADO.NET e o aplicativo que faz a mesma consulta com bastante frequência.
Estou tentando descobrir se essas conexões adormecidas podem ter um impacto significativo no desempenho do SQL Server. Por padrão, o pool de conexões ADO.NET tem um limite de 100 conexões, então minha suposição é que uma dúzia de conexões adormecidas deve ser insignificante.
Só encontrei informações neste tópico :
O custo mínimo por sessão de sono é da ordem de 32kb de RAM - muito, muito modesto!
Provavelmente há algum custo adicional minúsculo em sobrecarga de CPU, mas será quase indetectável mesmo para 10.000 sessões.
Em relação às sobrecargas de sessão/conexão, o SQL Server é muito bem comportado!
Esta informação é precisa?
Genericamente, se a palavra desempenho aqui for usada para discutir apenas a execução de consultas e a suposição for de que nenhuma dessas conexões adormecidas contém bloqueios ou transações abertas, seria bastante seguro assumir que não haveria impacto significativo no desempenho (isso também assume que não há pressão de memória na instância, interna ou externa).
Um problema comum com essas conexões é que algumas mantêm transações ou bloqueios abertos, o que pode ser problemático de encontrar às vezes devido à maioria dos administradores apenas procurar executar consultas. Isso pode ter efeitos de manter o truncamento do log de transações (causando o crescimento do log que afetará o desempenho), bloqueando outras consultas, causando pressão de memória interna nos caches, que acredito que todos concordamos que afetam o desempenho.
Sem entrar em todas as minúcias de ter 10.000 conexões adormecidas, há um limite de 32k conexões com o servidor. Se houver mais de 10.000 conexões adormecidas, a falta de conexões pode se tornar um problema real. Infelizmente, isso não é tão improvável quanto você pode acreditar, pois já ajudei com esse problema várias vezes.