Ao examinar a lista de procedimentos armazenados que demoram muito tempo para serem executados, destaca-se que causa a maior espera. No entanto, a maior parte dessa espera (81%) é ASYNC_NETWORK_IO e eu sei o porquê: o procedimento armazenado transfere aproximadamente 400 MB de informações.
Na documentação, ele afirma que a causa do ASYNC_NETWORK_IO é que o cliente não pode acompanhar o fluxo de dados e isso provavelmente é verdade. Não tenho certeza de como manter o cliente atualizado, pois tudo o que faz é chamar o procedimento armazenado por meio de um ADO.NET e depois apenas processar o conjunto de dados.
Portanto, considerando essas informações, devo me preocupar com o tipo de espera ASYNC_NETWORK_IO para este procedimento? Isso realmente afeta o desempenho do servidor?
Informações adicionais:
- Estou no service pack 2 do SQL Server 2005.
- O aplicativo cliente está na mesma caixa do SQL Server (eu sei, eu sei ... mas não posso fazer nada sobre isso).