-1

私は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 を使用します。私が理解している限りでは、また異常なことはありません..

私のサーバーについて

  • 少数のデータベースがあり、私はそれらをよく知っています。
  • サービス ブローカーの使用。
  • ほとんどの場合、トレースは実行されています。

問題を引き起こしているのはバックグラウンドプロセスであると思われます。しかし、私は本当にそれを理解していません..これを解決するためのヒント/アイデアを教えてください。

4

2 に答える 2

0

内部 SQL Server ジョブである可能性があります。大きなインデックスの再構築のように。

スパイクを待ち、run sp_who2 'active'. 列の CPU 時間を確認します。

実際、SQL が原因であることをどのように 100% 確信できるのでしょうか? それはSOの問題ではありませんか?

于 2012-05-24T08:58:21.087 に答える
0

私は同じ問題に直面しており、Microsoft に問題を提起しました。

マイクロソフトの担当者は、CPU がスパイクされた場合、SQL DB 側からの問題はないと言いました。最後に、問題は Microsoft によって解決されました。実際の問題は、SQL Server ではなく IIS にありました。

アプリケーションのパフォーマンスを向上させるために、29 日ごとに IIS を再起動する必要があります。

于 2013-02-19T05:31:57.157 に答える