DESAFIO DO GORDO – SOLUÇÃO – Qual o motivo do wait type ASYNC_NETWORK_IO?

Galera,

Quero agradecer à todos que participaram do último DESAFIO DO GORDO e também dizer que todos acertaram nas respostas enviadas.

Então vamos para a solução de mais um desafio.

Em um primeiro momento o wait type ASYNC_NETWORK_IO parece estar relacionado à algum gargalo de rede certo?

Na realidade este wait type ocorre quando o SQL Server está esperando que um determinado cliente consiga consumir todos os dados solicitados.

Por exemplo, uma determinada aplicação realizou uma consulta e solicitou uma grande quantidade de dados ao SQL Server e por algum motivo está consumindo esta informação de forma bem lenta.

Para resolver este wait type seria necessário analisar qual a consulta realizada e entender se realmente são necessárias todas as informações solicitadas ou se o filtro pode ser melhorado para restringir os registros retornados.

Além disso também será extremamente importante verificar se a aplicação cliente não está processando o resultado uma linha por vez (Row-By-Agonizing-Row) ao invés de realizar o cache deste resultado imediatamente.

Espero que tenham gostado e aproveitem também para inscreverem-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

3 pensou em “DESAFIO DO GORDO – SOLUÇÃO – Qual o motivo do wait type ASYNC_NETWORK_IO?

  1. Thiago Anitelle (tanitelle)

    “Na realidade este wait type ocorre quando o SQL Server está esperando que um determinado cliente consiga consumir todos os dados solicitados”

    “também será extremamente importante verificar se a aplicação cliente não está processando o resultado uma linha por vez (Row-By-Agonizing-Row) ao invés de realizar o cache deste resultado imediatamente”

    Excelentes dicas, valeu!

    Responder
  2. Sandro Costa da Silva

    Boa tarde, Vitor tudo bem?

    E quando se têm duas query’s uma que cria a tabela temporaria com vários dados de diversas outras tabelas e a segunda query faz um select * from nesta tabela temporária para trazer o resultado final que se espera, mas existe esse wait type ocorrendo em grande parte do tempo?

    Responder

Deixe uma resposta