Pregunta

Por este artículo útil he confirmado que tengo una fuga en el conjunto de conexiones en algunos aplicación en mi servidor IIS 6 ejecutando W2k3.

La parte difícil es que estoy sirviendo 300 sitios web escritos por 700 desarrolladores de este servidor en 6 grupos de aplicaciones, el 50% de los cuales son .NET 1.1, que ni siquiera muestran conexiones en el contador de rendimiento de datos de CLR. Podría ver las conexiones crecer en mi extremo si todo fuera .NET 2.0+, pero no tengo suerte con esa herramienta de monitoreo delgado.

Mis 300 sitios web se conectan a más de 100 bases de datos distribuidas entre Oracle, SQLServer y los valores atípicos, por lo que tampoco puedo ver las conexiones desde el extremo de la base de datos.

Ahora mismo, mi mejor y único plan es hacer una búsqueda binaria de mis peores infractores. Mataré los grupos de aplicaciones y eliminaré lentamente las aplicaciones de ellos hasta que encuentre qué aplicaciones individuales resultan en que la mayoría de las conexiones se caigan cuando elimino su grupo. Pero como esta es una caja de producción y me gusta el empleo continuo, esto podría tomar semanas como método de rastreo.

¿Alguien sabe de una manera de interrogar a los grupos de conexión de IIS para conocer su origen o propietario? ¿Hay algún desencadenante de MSMQ que pueda ser capaz de adjuntar cuando se creen? ¿Algo tonto que estoy pasando por alto?

Kevin

(Incluiré el código de error para facilitar que otros encuentren sus respuestas a través de la búsqueda: Excepción: System.InvalidOperationException Mensaje: Se agotó el tiempo de espera. El período de tiempo de espera transcurrido antes de obtener una conexión del grupo. Esto puede haber ocurrido porque todas las conexiones agrupadas estaban en uso y se alcanzó el tamaño máximo de agrupación.)

¿Fue útil?

Solución

Intente comenzar con este primer artículo de Bill Vaughn .

Otros consejos

Todd Denlinger escribió una clase fantástica http://www.codeproject.com/KB/ database / connectionmonitor.aspx que vigila las conexiones del servidor Sql e informa sobre las que no se han eliminado correctamente en un período de tiempo. Conéctelo a su sitio y le avisará cuando haya una fuga.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top