我们的生产服务器平均每秒运行4,000个事务。在过去几天中,平均数量已跃升至每秒175,000个事务。那不是打字错误,是每秒175K。
在查看交易的DMV时,我们无法将其直接链接到用户会话,但是我们看到了:
SELECT NAME,
COUNT(*)
FROM sys.dm_tran_active_transactions
GROUP BY NAME
ORDER BY 2 DESC
-
+------------------------------+-------+
| Name | Count |
+------------------------------+-------+
| WorkFileGroup_fake_worktable | 627 |
| LobStorageProviderSession | 217 |
| workfile | 171 |
+------------------------------+-------+
谁能阐明这些类型的交易?还是我在这里追鬼?
也许您可以通过重复执行sp_whoisactive来配置服务器。什么查询最常出现?
—
usr
可能不清楚,但在原文中,我说过用户流程与交易之间没有关联。通常,我们有大约4000个连接的用户,并且在任何给定的时间点,其中40-60个是可运行的spid。在膨胀的交易期间,仍然有40-60个可运行的spid-没有差异。
—
paulbarbin 2015年
更新:TPS已恢复到正常值,我们看不到发生任何真正的原因。唯一有意义的是,我们执行了一个链接服务器查询,该查询看起来像是整个表都被拉到tempdb中一样。这个过程花费的时间比平时长得多。tps是否有可能被计数为表中的1行= 1个事务?该表中有5万行,它由用户临时执行,因此,每秒被调用3次,可以加起来,但看起来不太可能。
—
paulbarbin 2015年
如果是我的服务器,我将运行服务器端快速跟踪。也许只需跟踪5分钟,看看tps计数是否有可能是虚假的。我当然也希望垃圾邮件sp_whoisactive观察飞行中的查询。
—
彼得