私はSQL Server 2008 R2を使用しています。開発環境では、CPU に数分間負荷がかかっていることが時々わかります (通常は 1 ~ 2% ですが、約 55% ~ 80% です。はい、私の開発環境では通常の負荷はほとんどありません! )。この CPU プレッシャー時間中に、自動テストでタイムアウト エラーが発生することがあります。
アクティビティモニターでタイムアウトが発生しました。次のようになります。
通常、これらのプレッシャーの瞬間は次のようになります。
問題は、なぜそれが起こっているのか理解できないことです!継続的に実行される自動テストがありますが、負荷は高くありません。パフォーマンス テスト中、システムは正常に動作し、速度が低下した場合は、常に適切な説明があります。
問題を解決しようとしています
- トレースを実行していますが、これらの CPU スパイクの間、「特別なことは何もありません」。高価なクエリはありません。
- SQL アクティビティ モニターの使用 - CPU を除いて、すべてが正常に見えます (1 ~ 2 の待機中のタスク、低い I/O、1 秒あたり 5 リクエスト程度)。最近の高価なクエリはそれほど高価ではありません。
- データのクエリ。有名な sp_WhoIsActive と sys.dm_exec_requests を使用します。私が理解している限りでは、また異常なことはありません..
私のサーバーについて
- 少数のデータベースがあり、私はそれらをよく知っています。
- サービス ブローカーの使用。
- ほとんどの場合、トレースは実行されています。
問題を引き起こしているのはバックグラウンドプロセスであると思われます。しかし、私は本当にそれを理解していません..これを解決するためのヒント/アイデアを教えてください。