68

I'm trying to troubleshoot some intermittent slowdowns in our application. I've got a separate question here with more details.

I ran sp_who2 to and I've noticed a few connections that have a status of SUSPENDED and high DiskIO. Can someone explain to me what that indicates?

enter image description here

4

3 回答 3

74

这是一个非常广泛的问题,所以我将给出一个广泛的答案。

  1. 当查询请求访问当前不可用的资源时,查询将被挂起。这可以是逻辑资源(如锁定行)或物理资源(如内存数据页)。一旦资源可用,查询就会再次开始运行。 
  2. 高磁盘 IO 意味着需要访问大量数据页才能完成请求。

这就是我从上面的截图中可以看出的全部内容。但是,如果我推测,您的 IO 子系统可能太慢而无法满足需求。这可能是由于缺少索引或磁盘实际上太慢造成的。请记住,单个 OLTP 查询的 15000 次读取略高,但并不少见。

于 2013-07-23T17:43:27.920 回答
24

暂停。会话正在等待事件(例如 I/O)完成。

http://msdn.microsoft.com/en-us/library/ms174313.aspx

于 2013-07-23T17:39:07.223 回答
0

运行 sp_who2 以查找挂起的 spid

然后右键单击服务器名称并打开“活动监视器”

在进程部分的活动监视器中,在“阻止者”列中查找该 spid

在此处输入图像描述

这将告诉您哪个进程阻止您暂停的进程运行

于 2021-12-02T21:56:37.067 回答