valid net missing sql-server performance ado.net

sql-server - net - sql server connection pool configuration



ADO.NET Connection Pooling y SQLServer (4)

La agrupación de conexiones es un mecanismo para reutilizar las conexiones, ya que establecer una nueva conexión es lento.

Si usa una cadena de conexión MSSQL y System.Data.SqlClient, entonces ya la está usando, en .Net, esto está bajo la tapa la mayor parte del tiempo.

Un bucle de iteraciones de 30k podría ser mejor como un cursor del lado del servidor (buscar instrucciones del cursor T-SQL), dependiendo de lo que esté haciendo con cada paso fuera del sproc.

Las consultas largas están bien, pero tenga cuidado de llamarlas desde páginas web ya que Asp.Net no está realmente optimizado para largas esperas y algunas conexiones se cortarán.

  • ¿Qué es?
  • ¿Cómo implemento la agrupación de conexiones con MS SQL?
  • ¿Cuáles son las ramificaciones de desempeño cuando
    • Ejecutando muchas consultas una después de la otra (es decir, utilizando un bucle con 30K + iteraciones llamando a un procedimiento almacenado)?
    • ¿Estás ejecutando algunas consultas que tardan mucho tiempo (más de 10 minutos)?
  • ¿Hay algunas mejores prácticas?

Un poco más de información sobre el asunto de la agrupación de conexiones ... ya lo está utilizando con SqlClient, pero solo si su cadena de conexión es idéntica para cada conexión nueva que abra. Según entiendo, el marco unirá las conexiones automáticamente cuando sea posible, pero si la cadena de conexión varía incluso ligeramente de una conexión a la siguiente, la nueva conexión no vendrá del grupo; se creará de nuevo (por lo que es más costosa). )

Puede utilizar la aplicación Monitor de rendimiento con XP / Vista para ver las conexiones SQL y verá rápidamente si se está utilizando la agrupación. Busque en la categoría ".NET CLR Data" en el Monitor de rendimiento.


Yo segundo a Keith; si llama a un procedimiento almacenado 30,000 veces, tiene problemas mucho más grandes que la agrupación de conexiones.


Su pregunta también fue parcialmente respondida por este hilo . Una búsqueda habría revelado esto ... La definición de Connection Pooling, de la cual Google habría respondido con el primer hit siendo esto ...

Lo cual dejaría solo las mejores prácticas, lo que creo que hubiera sido una buena pregunta :)

+1 a la respuesta de Keith . Él ha dado en el clavo justo en la cabeza.

Solo un recordatorio educado de las preguntas frecuentes:

Has buscado en Internet antes de hacer tu pregunta, y vienes a nosotros armados con investigaciones e información sobre tu pregunta ... ¿no?