none
単位時間あたりのsqlserver のSQL実行回数を増やしたい RRS feed

  • 質問

  • データベースにSQLServer2008R2 を使い、あるWEBシステムの性能評価をしています。WEBサーバ、DBサーバはCPU3GHz,メモリ4GBを搭載)

    現在SQLServer 2008R2 だと1分間に約1500回のselect 文を実行しています(実行したSQLをログ出力するようにしてカウント)

    処理を実行している間はCPUは100%に張り付くためマシンの性能アップをすればもっと実行できるようになるとは思いますが、

    SQLServer のパラメータ等で改善できたりはしないでしょうか。(なおパラメータ等は全てインストール直後のデフォルト値です)

    事例等、些細なことでもかまいませんので教えていただければと思います。

    よろしくお願いします。

    2012年2月6日 4:39

回答

  • CPU使用率 100%の原因を探ることが肝心です。そもそもWEBサーバ、DBサーバどちらが100%なのですか?

    それとログ出力してカウントしているとのことですが、ログ出力そのものが重い、そのために1500回しか実行できない、ということはありませんか?

    • 回答の候補に設定 山本春海 2012年2月16日 8:28
    • 回答としてマーク 山本春海 2012年2月20日 8:31
    2012年2月6日 5:11
  • 佐祐理さんも書かれていますが、まずは100%になる原因を探ることです。
    DBサーバーのCPU使用率を見られているように感じましたので、DBサーバーで100%に張り付いていると仮定しますが、DBサーバーが通常の使用で100%に張り付くことはあまりありません。1秒間に25回のselect文を発行されているようですが、どのようなselect文なのかが気になります。実行プランは確認されましたか? select文の発行の仕方を変えることはできませんか? それらの対策を行った上で、もうこれ以上大きく改善の余地が無いと判断した際に、SQL Serverのチューンを行うべきだと思います。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答の候補に設定 山本春海 2012年2月16日 8:28
    • 回答としてマーク 山本春海 2012年2月20日 8:31
    2012年2月6日 6:39

すべての返信

  • CPU使用率 100%の原因を探ることが肝心です。そもそもWEBサーバ、DBサーバどちらが100%なのですか?

    それとログ出力してカウントしているとのことですが、ログ出力そのものが重い、そのために1500回しか実行できない、ということはありませんか?

    • 回答の候補に設定 山本春海 2012年2月16日 8:28
    • 回答としてマーク 山本春海 2012年2月20日 8:31
    2012年2月6日 5:11
  • 佐祐理さんも書かれていますが、まずは100%になる原因を探ることです。
    DBサーバーのCPU使用率を見られているように感じましたので、DBサーバーで100%に張り付いていると仮定しますが、DBサーバーが通常の使用で100%に張り付くことはあまりありません。1秒間に25回のselect文を発行されているようですが、どのようなselect文なのかが気になります。実行プランは確認されましたか? select文の発行の仕方を変えることはできませんか? それらの対策を行った上で、もうこれ以上大きく改善の余地が無いと判断した際に、SQL Serverのチューンを行うべきだと思います。

     


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
    • 回答の候補に設定 山本春海 2012年2月16日 8:28
    • 回答としてマーク 山本春海 2012年2月20日 8:31
    2012年2月6日 6:39
  • >佐祐理様、 trapemiya様
    ご指摘いただいたものは見直しを実施しようと思います。

    1分間に1500回というのは、1秒間に1500回の間違いでした。
    なのでまずディスクIO等みて、ログ出力の仕方を変更してselect 文の数カウントしようと思います。

    ありがとうございました。

    2012年2月7日 8:04