本番サーバーは、1秒あたり平均4,000トランザクションで実行されます。過去数日間で、平均は毎秒175,000トランザクションに急上昇しました。これはタイプミスではなく、1秒あたり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がまだありました-違いはありません。
—
ポールバービン2015
更新:tpsは通常の値に戻っており、実際に発生する理由はありません。意味のある唯一のことは、テーブル全体が回線を介してtempdbにプルされているように見えるリンクサーバークエリを実行したことです。そのプロセスは通常よりもずっと長くかかっていました。tpsがテーブルの1行= 1トランザクションのようにカウントされていた可能性はありますか?テーブルには5万行があり、ユーザーによってアドホックに実行されるため、1秒あたり3回呼び出され、そのCOULDが加算されますが、そうは思われません。
—
ポールバービン2015
それが私のサーバーである場合は、サーバー側の簡単なトレースを実行します。tpsカウントが誤っている可能性があるかどうかを確認するために、たった5分のトレースである可能性があります。実行中のクエリを監視するために、sp_whoisactiveをスパム送信することは間違いありません。
—
Peter