sql-server – ASYNC_NETWORK_IO等待输入任何类型的东西吗?

前端之家收集整理的这篇文章主要介绍了sql-server – ASYNC_NETWORK_IO等待输入任何类型的东西吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在查看需要很长时间执行的存储过程列表时,一个突出显示导致最多等待.但是,大多数等待(81%)是ASYNC_NETWORK_IO,我知道原因:存储过程传输大约400 MB的信息.

在文档中,它指出ASYNC_NETWORK_IO的原因是客户端无法跟上大量数据,这可能是真的.我不确定如何让客户端跟上,因为它只是通过ADO.NET调用存储过程,然后只处理数据集.

因此,鉴于此信息,我是否应该担心此过程的ASYNC_NETWORK_IO等待类型?它实际上对服务器性能有影响吗?

其他信息:

>我在sql Server 2005的Service Pack 2上.
>客户端应用程序与sql Server位于同一个框中(我知道,我知道……但我对此无能为力).

解决方法

正如您所说,此等待类型表示应用程序无法跟上sql Server.现在真正意味着,sql Server无法通过网络以最快的速度发送数据.

可能有两个根本原因:

>应用程序写得效率低,并且不能足够快地处理行.
>网络最大化.

如果应用程序本身太慢,则对其他查询性能没有影响或没有显着影响.另一方面,如果管道太小,其他查询也无法发送结果,必须等待.

但是在后一种情况下,您将在ASYNC_NETWORK_IO上等待所有连接.你应该能够清楚地看到这种影响.

猜你在找的MsSQL相关文章