Pergunta

Por isso artigo útil Eu confirmei que eu tenho um vazamento de pool de conexão em algum aplicação no meu servidor IIS 6 correndo W2k3.

A parte difícil é que eu estou servindo 300 sites escritos por 700 desenvolvedores a partir deste servidor em 6 pools de aplicativos, 50% dos quais são .NET 1.1, que nem sequer mostram conexões no contador de desempenho CLR Data. Eu poderia assistir conexões crescer no meu fim se tudo fosse .NET 2.0+, mas eu sou mesmo fora da sorte nessa ferramenta de monitoramento fino.

As minhas 300 sites conectar-se provavelmente 100+ bancos de dados espalhados entre Oracle, SQLServer e valores atípicos, então eu não posso assistir as conexões a partir do final de banco de dados também.

Agora meu plano melhor e única é fazer uma busca binária solta para os meus piores criminosos. Eu vou matar pools de aplicativos e remover lentamente aplicações a partir deles até que eu encontre que aplicações individuais resultar na maioria das conexões caindo quando eu matar sua piscina. Mas uma vez que esta é uma caixa de produção e I como o emprego contínuo, isso poderia levar semanas como um método de rastreamento.

Alguém sabe de uma maneira de interrogar os pools de conexão IIS para aprender sua origem ou proprietário? Existe um disparador MSMQ eu poderia ser capaz de que eu poderia ser capaz de anexar quando eles são criados? Qualquer coisa boba que estou com vista?

Kevin

(vou incluir o código de erro para facilitar outros encontrar suas respostas através de pesquisa: Exceção: System.InvalidOperationException Mensagem: Tempo limite expirou. O tempo limite esgotou antes para obter uma conexão do pool. Isto pode ter ocorrido porque todas as ligações foram reunidas em utilização foi atingido e o tamanho máximo do pool.)

Foi útil?

Solução

Tente começar com este primeiro artigo de Bill Vaughn .

Outras dicas

Todd Denlinger escreveu uma classe fantástica http://www.codeproject.com/KB/ database / connectionmonitor.aspx que relógios conexões SQL Server e relatórios sobre os que não tenham sido devidamente transferidos dentro de um período de tempo. Fio-lo em seu site, e vai deixar você saber quando há um vazamento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top