2011-09-10 12 views
6

今朝私の専用サーバーを再起動しました。その結果、私のSQL Serverは非常に応答性がありました。私は1.500.000レコードテーブルをクエリすることができ、結果は2秒以内に返されます。SQL Serverデータベースのパフォーマンスをチェックする方法は?

しばらくしてから、私のCPUが成長を開始しているのを見て、それと同じクエリでは30-50秒もかかりません。

私はsp_who2を確認しましたが、ブロック取引はありませんでした。私はインデックスを再構築しました。まだ遅い変化はありません

この種の動作をトラブルシューティングするにはどうすればよいでしょうか?パフォーマンスを向上させる方法ここで

は私のタスクマネージャサーバーのプロパティの下

enter image description here

+0

どのプロセスがCPUを食べていますか?利用可能なCPUが少ない場合、クエリはもちろん遅くなります。 – tjameson

+0

それは主にあなたがスクリーンショットで見ることができるSQLサーバーです – MasterMeNow

+0

SQLサーバーからデータを要求しているのは何ですか?おそらく、あなたがテストを実行したときはそれほど少なかったかもしれません。 – tjameson

答えて

2
  • である、あなたは手動でSQLが

enter image description here

  • 確認を使用したいどのように多くのCPUの割り当てることができますあなたはすべての窓の更新、サービスを持っているパックは、SQL Serverだけで
  • 最善のアプローチを使用しているどのくらいのメモリチェック実行するとの勧告を参照するには、パフォーマンスのテンプレート enter image description here
  • 使用データベースチューニングアドバイザ(のためのSQLプロファイラを実行することです、あなたのデータベースアプリケーションを実行せずに
  • を適用しましたhttp://www.youtube.com/watch?v=gjT8wL92mqE
0

問題はそのディスクをスラッシングする可能性があります。あなたのSQL endineがあなたのシステム上で(自由に)利用可能なものより小さく構成されていることを確認してください。

VMですか?データベースは大規模ですか?たとえそのハードディスクのメモリが本来遅い場合でも、SQLはメモリを確保し続けます。

3

私はメモリの問題を嗅ぎ取ります。ページバッファがいっぱいになるか、他のメモリ制約が発生する可能性があります。

    • CPU負荷
    • ページフォールト
    • ディスクのR/Wキュー
    • ディスクのR/W時間

    瞬間からあなたをそれらをキャプチャ:のような重要なシステムパフォーマンスカウンタを監視して起動しますマシンを再起動し、Excelやその他のグラフ作成ツールでプロットしてください。いくつかのSQLカウンタをミックスに追加します。 SQL Serverのパフォーマンスモニタのcoutnersを検索すると、オンライン上に多くのリソースがあります。ここに記載されているパーフォーマンスカウンタを試してみてください:http://www.sql-server-performance.com/2007/performance-monitor-general/

    時間の経過を観察し、他のインジケータとパフォーマンスと相関させることが不可欠です。

    もう1つのことは、プランの再コンパイルです。 ProfilerトレースのSP:Recompileイベントを確認し、パフォーマンス低下と相関があるかどうかを確認します。 - ref https://support.microsoft.com/en-us/kb/243586

  • 関連する問題