none
テストサーバでは速いのに、本番サーバでは遅い RRS feed

  • 質問

  • はじめまして 

    SQL Serverのチューニングについて教えてください。

    本番サーバ     Windows 2003 Serve、 memory 4G 、SQL Server 2005

    テスト用サーバ    Windows XP、 memory 2G、 SQL Sever 2005

    本番サーバにて、50分かかる処理の検証を行うため、データをテスト用サーバに移行し実行したところ、4分で終了してしまいました。

    データ件数は、同一です。本番サーバでの遅延について調査方法、改善方法をご教授ください。

     *テストサーバは、処理中 CPUの使用率が90%を超えていましたが、本番サーバは、10%前後でした。

     

       

    2012年6月19日 8:53

回答

  • 本番サーバーからテスト用サーバーにどのようにデータを移行したかが書かれておりませんでしたので、その辺の情報を提示されるとよろしいかもしれません。
    例としては以下のような情報になります。

    • 本番サーバーで取得したバックアップ (BACKUP DATABASE) をテスト用サーバーにリストア (RESTORE DATABASE) して移行
    • 本番サーバーからテキスト形式でエクスポートしたデータをテスト用サーバーにインポートして移行
    • データベースエクスポートウィザードを使用して本番サーバーからテスト用サーバーにデータを移行

    どのような方法でデータを移行したかによって回答が変わってくるかと思いますので。

    本番サーバーからテキスト形式でエクスポートし、テスト用サーバーにインポートを行いデータを移行、データベースエクスポートウィザードを使用してデータを移行した場合は、テスト用サーバー上ではデータの断片化が解消され処理が早くなったという可能性があります。

    バックアップ / リストアの場合は断片化の状態もそのままテスト用サーバー上で再現されますので、これで処理速度に差がある場合は実行プランに違いがあるかもしれませんので、本番とテスト用サーバーで実行プランが同じになっているかを確認されると調査の一助になるかと。
    # テキスト形式でエクスポートした場合も実行プランは見られた方がよろしいかと。

    CPU の使用率の違いですが、本番とテスト用サーバーで CPU コア数の違いはありませんでしょうか。
    CPU コア数が違うと使用率も変わってきますので、使用率についても情報をお探しなのであればコア数についても情報を書かれるとよろしいかと思います。

    また、SQL Server の Edition によっても多少動作が変わってきますので、こちらの情報も書かれるとよろしいかもしれないです。
    # 本番は Standard で実行していて、テスト用サーバーは Developer Edition で実行されている場合にはテスト用サーバーの方が上位エディションを使用していることになりますので。

    ご参考になれば幸いです。

    • 回答の候補に設定 山本春海 2012年6月28日 5:35
    • 回答としてマーク 山本春海 2012年7月5日 7:24
    2012年6月19日 17:37
    モデレータ

すべての返信

  • 本番サーバーからテスト用サーバーにどのようにデータを移行したかが書かれておりませんでしたので、その辺の情報を提示されるとよろしいかもしれません。
    例としては以下のような情報になります。

    • 本番サーバーで取得したバックアップ (BACKUP DATABASE) をテスト用サーバーにリストア (RESTORE DATABASE) して移行
    • 本番サーバーからテキスト形式でエクスポートしたデータをテスト用サーバーにインポートして移行
    • データベースエクスポートウィザードを使用して本番サーバーからテスト用サーバーにデータを移行

    どのような方法でデータを移行したかによって回答が変わってくるかと思いますので。

    本番サーバーからテキスト形式でエクスポートし、テスト用サーバーにインポートを行いデータを移行、データベースエクスポートウィザードを使用してデータを移行した場合は、テスト用サーバー上ではデータの断片化が解消され処理が早くなったという可能性があります。

    バックアップ / リストアの場合は断片化の状態もそのままテスト用サーバー上で再現されますので、これで処理速度に差がある場合は実行プランに違いがあるかもしれませんので、本番とテスト用サーバーで実行プランが同じになっているかを確認されると調査の一助になるかと。
    # テキスト形式でエクスポートした場合も実行プランは見られた方がよろしいかと。

    CPU の使用率の違いですが、本番とテスト用サーバーで CPU コア数の違いはありませんでしょうか。
    CPU コア数が違うと使用率も変わってきますので、使用率についても情報をお探しなのであればコア数についても情報を書かれるとよろしいかと思います。

    また、SQL Server の Edition によっても多少動作が変わってきますので、こちらの情報も書かれるとよろしいかもしれないです。
    # 本番は Standard で実行していて、テスト用サーバーは Developer Edition で実行されている場合にはテスト用サーバーの方が上位エディションを使用していることになりますので。

    ご参考になれば幸いです。

    • 回答の候補に設定 山本春海 2012年6月28日 5:35
    • 回答としてマーク 山本春海 2012年7月5日 7:24
    2012年6月19日 17:37
    モデレータ
  • こんにちは、aka33game さん。
     
    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。
    その後いかがでしょうか。
    継続したご質問がないようなので、勝手ながら私のほうで参考になったのではと思われる投稿に回答としてマークさせていただきました。
    Masayuki.Ozawa さん、アドバイスありがとうございます。

    今後とも、MSDN フォーラムをよろしくお願いいたします。それでは。
    ____________                                                 
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2012年7月5日 7:24