七夕活动,网页显示异常:
504 Gateway Time-out The server didn't respond in time.
开发询问数据库是否正常,当时正连接在实例上查询数据,感觉响应确实慢(敲一个命令,要几秒才显示出来)。只分配一个SQL Server身份验证的登录名
1、查看ERRORLOG是否有异常信息

xp_readerrorlog 0,1,null,null,'','','desc'

2、查看连接信息,是否有阻塞、等待类型、连接状态

select spid,kpid,blocked,waittime,waittype,waitresource,dbid,last_batch,status,open_tran
from sys.sysprocesses where spid>50

在第2步中发现很多waittime>0的连接,且其等待类型全部是ASYNC_NETWORK_IO
3、查看正在执行的语句

SELECT er.session_id
,DB_NAME(sp.dbid) [Database]
,er.start_time
,er.status
,er.wait_type
,er.wait_time
,er.command
,er.transaction_isolation_level
,er.total_elapsed_time/1000 [total_elapsed_time(s)]
,er.estimated_completion_time/1000 [estimated_completion_time(s)]
,er.percent_complete
,[SQLQuery] = SUBSTRING(qt.Text, (er.statement_start_offset / 2) + 1, ((
CASE
WHEN er.statement_end_offset = - 1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.TEXT)) * 2
ELSE er.statement_end_offset
END - er.statement_start_offset
) / 2) + 1)
,[BatchQuery] = qt.Text
,Program = program_name
,sp.Hostname
,sp.loginame
,sp.nt_username
,sp.nt_domain
FROM sys.dm_exec_requests er
INNER JOIN sys.sysprocesses sp ON er.session_id = sp.spid
CROSS APPLY sys.dm_exec_sql_text(er.sql_handle) AS qt
WHERE er.session_id > 50


返回100+行ASYNC_NETWORK_IO等待信息(数量持续增加),它们的语句全部是

(@0 nvarchar(4000),@1 nvarchar(255) output,@2 nvarchar(255) output,@3 nvarchar(255) output,@4 nvarchar(255) output)
SELECT [SevenDayUserInfo].[OpenId], [SevenDayUserInfo].[WxName], [SevenDayUserInfo].[WxHeadUrl]
, [SevenDayUserInfo].[UserId], [SevenDayUserInfo].[UserName], [SevenDayUserInfo].[UserNickName]
, [SevenDayUserInfo].[TotalDice], [SevenDayUserInfo].[TakeOutDice], [SevenDayUserInfo].[SurplusDice]
, [SevenDayUserInfo].[IsBind], [SevenDayUserInfo].[IsSubscribe], [SevenDayUserInfo].[DiceSeat]
, [SevenDayUserInfo].[CreateTime], [SevenDayUserInfo].[Count] FROM [SevenDayUserInfo]
exec First_SevenDay @0,@1 output,@2 output,@3 output,@4 output

问题的关键就是执行存储过程的前面有一条返回全表数据的语句!反馈给开发,核实是程序代码封装有误(⊙_⊙)

ASYNC_NETWORK_IO
This wait type is where SQL Server has sent some data to a client through TDS and is waiting for the client to acknowledge that is has consumed the data, and can also show up with transaction replication if the Log Reader Agent job is running slowly for some reason.

Requests中出现大量ASYNC_NETWORK_IO等待的更多相关文章

  1. SQL Server邮件相关SQL语句出现严重的ASYNC_NETWORK_IO等待事件案例

      DPA监控发现一台SQL Server服务器最近两天执行系统存储过程msdb.dbo.sp_MailItemResultSets中的某个SQL时,出现较严重的ASYNC_NETWORK_IO等待. ...

  2. JAVA中实现让程序等待一段时间的方法

    JAVA中想让代码等待一段时间再继续执行,可以通过让当前线程睡眠一段时间的方式. 方法一:通过线程的sleep方法. Thread.currentThread().sleep(1000); 在需要程序 ...

  3. Selenium中的几种等待方式,需特别注意implicitlyWait的用法

    摘:http://blog.csdn.net/pf20050904/article/details/20052485 最近在项目过程中使用selenium 判断元素是否存在的时候 遇到一个很坑爹的问题 ...

  4. iOS 中 CAShapeLayer 的使用( 等待删除的博文)

    等待删除. 1.CAShapeLayer 简介 1.CAShapeLayer继承至CALayer,可以使用CALayer的所有属性值 2.CAShapeLayer需要与贝塞尔曲线配合使用才有意义 3. ...

  5. 转:Selenium中的几种等待方式,需特别注意implicitlyWait的用法

    最近在项目过程中使用selenium 判断元素是否存在的时候 遇到一个很坑爹的问题, 用以下方法执行的时候每次都会等待很长一段时间,原因是因为对selenium实现方法了解不足导致一直找不到解决方法. ...

  6. 在linux系统中跟踪高IO等待

    原文作者:Jon Buys 原文地址:http://ostatic.com/blog/tracking-down-high-io-wait-in-linux 译者:Younger Liu,本作品采用知 ...

  7. Java Selenium中的几种等待方式

    Selenium自动化性能测试过程中,经常会出现取不到界面元素,主要原因是界面元素的加载与我们访问页面的时机不一致.可能是界面要素过多或者网络较慢,界面一直加载中:为了解决这种问题,selenium提 ...

  8. requests中get和post传参

    get请求 get(url, params=None, **kwargs) requests实现get请求传参的两种方式 方式一: import requests url = 'http://www. ...

  9. python - requests中添加配置文件

        HttpRequests.py #-*- coding:utf-8 -*- import requests class HttpRequests(): def http_requests(se ...

随机推荐

  1. YISMILE微信小程序使用说明

    使用说明: 程序名称:易校(YISMILE) 开发团队:KNY三人组 团队logo: 程序logo: 程序功能及使用说明: “失物招领”界面可以浏览发布的失物信息: “发布信息”界面用户可以针对物品类 ...

  2. 第二阶段Sprint10

    昨天:查看有关“共享平台”的资料,看如何实现上传下载功能,并尝试编码,没有成功 今天:集合三个人的代码,整合到一起,修复出现的Bug 遇到的问题:看Bug没有出现,但功能不是停止运行就是部分不能用,只 ...

  3. 第二个Sprint

    能够实现三个数,两个操作符的四则运算.

  4. 该帐户当前被锁定,所以用户 'sa' 登录失败。系统管理员无法将该帐户解锁。

    用WINDOWS账户登录查询分析器,输入一下语句并执行: ALTER LOGIN sa ENABLE ; GO ALTER LOGIN sa WITH PASSWORD = '你的新密码' unloc ...

  5. [转帖]Linux后端执行命令的方法

    Linux 后台执行命令的方法 http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4241330&fromuid=212883 ...

  6. RANCHER2.0 的简单使用

    1. RANCHER2.0  能够管理 k8s 集群 也能够用来搭建 k8s 集群 但是因为网络问题 只测试了如何去管理集群 还没有去 测试 安装集群. 2. 创建rancher 服务的方法 dock ...

  7. OneZero第二周第三次站立会议(2016.3.30)

    会议时间:2016年3月30日  13:00~13:20 会议成员:冉华,张敏,王巍,夏一鸣. 会议目的:汇报前一天工作,全体成员评论,确定会后修改内容或分配下一步任务. 会议内容: 1.前端,完成功 ...

  8. Java之List排序功能举例

    package test_demo; import java.util.ArrayList; import java.util.Collections; import java.util.List; ...

  9. linux 命令大全,我去

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

  10. P3000 [USACO10DEC]牛的健美操Cow Calisthenics

    题目描述 Farmer John continues his never-ending quest to keep the cows fit by having them exercise on va ...