4

現在、Win2k8 サーバー上の DotNetNuke SQL Server 2005 Express サイトでいくつかの問題が発生しています。ほとんどの場合、スムーズに実行されます。ただし、時折 (1 時間に 1 ~ 2 回の注文で) 実行速度が非常に遅くなります。ユーザーの観点からは、これが発生すると、何らかの記述でデッドロックが発生したように見えます。

問題を解決するために、SQL Express データベースに対して SQL Profiler を実行しました。

結果を見て、私が持っているいくつかの具体的な質問は次のとおりです。

  1. SQL トレースは、RPC:Completed ごとに監査ログオンと監査ログオフを示しています。これは、接続プールが機能していないということですか?

  2. 「.NET CLR データ」でパフォーマンス モニターを見ると、「SQL クライアント」カウンターのいずれにもインスタンスがありません。

  3. 速度低下が発生したときに実行されているクエリは、まだ異常ではないように見えます。それ以外のときは高速に実行されます。今後の調査に役立つツールとして、他にどのような perfmon カウンターまたはその他のトレース/ログ ファイルを提案できますか。

4

4 に答える 4

3

プロファイラーに直接ジャンプすることは、おそらく間違った最初のステップです。最初に、サーバーの Perfmon 統計を確認してみてください。ここにオンラインのチュートリアルがあります:

http://www.brentozar.com/perfmon

これらのメトリクスのキャプチャを開始し、いずれかのスローダウンが発生したら、収集を停止します。その頃のパフォーマンス指標を見ると、ボトルネックが見えてきます。Perfmon からの csv 出力を brento@brentozar.com に送っていただければ、何が起こっているかについての洞察を提供できます。

後でプロファイラーを実行する必要があるかもしれませんが、最初に OS とハードウェアを除外します。また、サーバーのシステムおよびアプリケーション イベント ログをチェックして、その間に何も起きていないことを確認しましたか? たとえば、ウイルス対策クライアントが新しいパッチを頻繁にダウンロードし、更新のたびに簡単なスキャンを実行する例を見てきました。

于 2009-03-22T13:10:51.153 に答える
1

私のスパイディ感覚は、SQL Server のブロックの問題がある可能性があることを教えてくれます。この記事を読んで、サーバーのブロックを監視し、それが原因かどうかを確認してください。

問題がパフォーマンスに関連している可能性があり、ハードウェアのボトルネックが何であるかを確認したい場合は、perfmon を使用して CPU、ディスク、およびメモリの統計を収集し、それらをプロファイラー トレースと関連付けて、遅い応答が関連しているかどうかを確認する必要があります。 .

于 2009-03-20T13:16:26.273 に答える
0

その他の確認事項:

  • データファイルまたはログ ファイルが自動拡張されていないことを確認してください。

  • SQL データとログ ファイルを無視するようにウイルス対策が設定されていることを確認してください。

  • プロファイラーの出力を見るときは、ターゲットの直前に終了したクエリを確認してください。ブロックされている可能性があります。

  • データベースで自動クローズがオフになっていることを確認してください。クローズ後の再オープンには時間がかかります

于 2009-03-24T23:27:27.237 に答える
0
  1. 番号
  2. これは、SQL Server に組み込まれている .NET 機能を使用していないことを示しています。
  3. プロファイラー トレースの詳細な分析については、http://www.xsqlsoftware.com/Product/xSQL_Profiler.aspxを参照してください。時間または CPU ごとに上位のクエリを表示するレポートがあります (1 つのクエリではなく、1 つのクエリのすべての実行の合計)。
于 2009-03-20T12:33:28.497 に答える