ASYNC_NETWORK_IO等待事件和调优

测试反应测试数据库整体出现hang的情况,检查对应的等待事件,发现大量的resource_semaphore等待事件,

查看内存占用情况:

​SELECT  *  FROM    sys.dm_exec_query_memory_grants 

发现会话189占用大量的granted_memory, 检查189对应的session,执行了超过24小时未结束,但是reads仅仅是77286,状态为suspended,说明有等待,检查等待事件ASYNC_NETWORK_IO,并且结果集大小是207466行。

以上分析说明应用程序调用该sql使用了RBAR (Row-By-Agonizing-Row)方式一行一行调用,每次调用都经过network roundtrip,和开发沟通,修改应用程序为批量接收结果集。

原文地址:https://www.cnblogs.com/database/p/11654006.html