每秒非常高的交易


8

我们的生产服务器平均每秒运行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年

2
如果是我的服务器,我将运行服务器端快速跟踪。也许只需跟踪5分钟,看看tps计数是否有可能是虚假的。我当然也希望垃圾邮件sp_whoisactive观察飞行中的查询。
彼得

Answers:


1

再次注意高活动;看到它时,启动服务器端跟踪,或者必要时简要使用Profiler以查看发生了什么。

或者,使用Wireshark之​​类的数据包嗅探器捕获原始的电汇活动。

检查dm_exec_cached_plans以查看是否知道发生了什么。

观看dm_io_virtual_file_stats来查看哪些文件(尤其是哪些文件)被命中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.