asp.net – SQL Server 2005网络IO等待时间(ASYNC_NETWORK_IO等
我们在高峰时段在Web应用程序上遇到性能问题,目前在一个2003 IIS6 Web服务器和一个SQL Server 2005数据库服务器之间分配. DB服务器上的查询时间看起来很好(大约30ms),CPU很低(低于20%),但查询可能需要很长时间才能在Web服务器上执行(超过1秒).
我正在寻找perfmon的线索,并发现平均网络IO等待时间约为400毫秒,这可以很好地解释性能差异.我还在SSMS内部运行了一些查询,看到每秒大约有10,000ms的累积ASYNC_NETWORK_IO等待类型. 从某些研究来看,似乎问题是网络容量不足,或者Web服务器没有足够快地处理结果.我如何调查它是什么,然后解决? 我们将NHibernate用于数据层,因此据我所知,没有使用DataReader.虽然有一个表包含一个包含压缩XML文档的列,但没有已知的查询返回大型结果集. 提前致谢 其他请求的信息 > Sql Server设置为使用TCP / IP 解决方法
数据库引擎正在等待ASP进程使用发送给它的数据包.这可以在ASP.Net进程本身(IP数据包从NIC出队,但它们不被进程消耗,在这种情况下,ASP.Net主机可能是罪魁祸首,如在坏代码或CPU中可能是主机操作系统无法足够快地消耗IP数据包(来自组合HTTP负载的IP负载和SQL往返负载的组合对于主机来说太多了).
ASP主机上的CPU负载是多少?什么是NIC中断率? HTTP流量是否在具有TDS(SQL)流量的同一NIC上共享,如果是,可以在不同的NIC上将它们分开吗? ASP客户端和SQL之间配置了什么协议?网管还是TCP?如果是Net Pipes,你可以将其关闭并强行使用TCP,这样你就可以将SMB排除在等式之外吗? 每个HTTP请求您要对数据库进行多少次往返?如果超过4,您是否可以考虑重构代码以将其减少到每次请求3-5次往返? 您是否在ASP进程上缓存任何内容以避免额外的往返数据库? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 看美剧英文字幕学英语的利器——“深蓝英文
- asp.net-mvc – 在ASP.NET MVC中从相同的路由URL路径提供图
- asp.net-mvc-routing – 在.NET MVC 4.0 URL结构中强制使用
- 大文件上传到asp.net MVC
- asp.net – 常量SQL Server 80%CPU利用率
- .net – 具有流畅验证的Ninjects
- ASP.NET身份
- asp.net-mvc-3 – 如何调试AutoMapper“缺少类型映射配置或
- asp.net-mvc – “添加ASP.Net文件夹”未启用
- asp.net – 您何时会在Web自定义控件上使用Web用户控件?
- asp.net-mvc – ASP.net MVC中的第二级视图
- asp.net-mvc – Mvc3 Antiforgery令牌多标签
- asp.net-mvc – 强大的html帮助程序,具有不同的g
- asp.net-mvc-3 – 在Dbcontext中的.NET MVC 3回滚
- asp.net – 如何在复选框列表中隐藏未选择的项目
- asp.net – Facebook API – 签名请求无效. (签名
- asp.net – 防止意外双击按钮
- asp.net-mvc-2 – 将参数传递给MVC Ajax.ActionL
- asp.net – 使用ASP MVC 3 RC和.NET 4中的Reques
- 使用模块化设计组织良好的ASP.NET应用程序的最佳