sql-server - 什么可能导致 ASYNC_NETWORK_IO 等待时间突然增加?
问题描述
大约在 2021 年 6 月 14 日 02:00(UTC)时,我的网站开始表现得很糟糕(一些请求需要超过 10 秒)。对日志的分析表明,减速仅影响建立 DB 连接的路由。当我查看数据库时,我可以看到我正在经历高网络 I/O (ASYNC_NETWORK_IO) 等待时间。
我的理解是,这可能指向几个问题。网络存在问题,或者更有可能是使用数据库结果的应用程序存在问题。 https://www.sqlshack.com/reducing-sql-server-async_network_io-wait-type/
不幸的是,当我进一步调查时,网络和客户端似乎都很好。
网络有问题?
- ping < 1ms
- 使用 10GbE 带宽的一小部分
- 自动协商正在正确检测网络带宽
Web服务器/应用程序处理结果太慢?
- CPU使用率很好
- 减速开始时没有代码更改
- 请求队列快速清空
为什么我可能会看到 ASYNC_NETWORK_IO 等待时间突然增加,还有其他解释吗?
更新
大多数资源(如我上面链接的那个)都说 SQL Server 本身不太可能出现问题。但是,当我切换应用程序的连接字符串以使用我的测试数据库(位于不同的服务器上)时,站点性能恢复正常,并且在我的测试数据库中看不到 ASYNC_NETWORK_IO 等待时间。
如果问题出在 Web 服务器或客户端应用程序上,我预计会看到与测试数据库的连接也会导致 ASYNC_NETWORK_IO 等待时间过长。
是否有人对 SQL Server 端可能导致此问题的原因有任何想法?
解决方案
推荐阅读
- javascript - Google Places API field filter not applying
- c# - 如何从 Android 向 C# Web API 发送 post 请求
- r - R 到网络抓取 - 使用 rvest - 超时错误
- python - 如何获得 ROC 曲线?
- android - Motion Event Action Move 在 android studio 模拟器中不起作用
- ruby-on-rails - rspec BDD 测试 - 尝试测试索引控制器方法
- python - How do I merge the date column of a concat data frame with N/As
- python - Reversing letters in a string (but not non-letters) while keeping the original casing
- sql - 如何获取每组具有最大时间戳的每条记录
- python - 在 subprocess.check_output 之后,编码字符 '‰' 在 Python 中返回 "�"