Al mirar la lista de procedimientos almacenados que demoran mucho tiempo en ejecutarse, uno se destaca como el que más espera. Sin embargo, la mayor parte de esa espera (81%) es ASYNC_NETWORK_IO y sé por qué: el procedimiento almacenado transfiere aproximadamente 400 MB de información.
En la documentación, indica que la causa de ASYNC_NETWORK_IO es que el cliente no puede mantenerse al día con la avalancha de datos y eso probablemente sea cierto. No estoy seguro de cómo hacer que el cliente se mantenga al día, ya que todo lo que hace es llamar al procedimiento almacenado a través de un ADO.NET y luego solo procesa el conjunto de datos.
Entonces, dada esta información, ¿debería preocuparme por el tipo de espera ASYNC_NETWORK_IO para este procedimiento? ¿Realmente tiene un efecto en el rendimiento del servidor?
Información adicional:
- Estoy en el service pack 2 de SQL Server 2005.
- La aplicación cliente está en el mismo cuadro que SQL Server (lo sé, lo sé ... pero no puedo hacer nada al respecto).