質問: 2005で動くのに2008では処理負荷が高い ドットネットで作成されたアプリケーションを sqlサーバーを用いてクラサバ形式で業務を行います。 本番実施前に、ノートpcにsqlサーバー2005エクスプレスを入れて テスト環境として1台のみで使用していた際は問題ありませんでした。 本番では、win2008サーバーにsqlサーバー2008を入れて使用したのですが、 サーバーに対して、クライアント1台しか接続していない状態でも処理負荷が高く、 動作が非常に遅くなり、ノートpcよりレスポンスが3倍ほどかかるようになりました。 データ件数は同じ状態です。(15万件ほど) 一部のやや複雑な条件抽出処理では、本番サーバー環境側は処理が停止してしまいます。 (ノートpcではやや時間がかかるもののきちんと結果が戻ってきますが、 本番側は数時間待っても結果が戻らず停止と同じ状態です) 本番サーバーの状況として、メモリ、ネットワークは殆ど使用しておらず、 cpuのみ25%を占有し続けている状態で、処理負荷がかかっているようです。 当然ながらノートpcのcpuよるは遥かに高性能です。 本番環境のsqlサーバ2008で初期データを作成する際、 2005エクスプレスで作成した初期データ(mdfファイル)を 2008側でアタッチしただけです。 テスト環境のノートpcの方が性能が良く、 高額な本番環境のサーバーが使いものにならない状態です。 直すべき点等があればご教授お願いします。
回答: 書かれている内容から問題の原因を特定するのは難しいです。 評価環境 ノートpcを使用 os不明(32bitか64bitか不明) sql server 2005 express この環境でも、クラサバ? (dbサーバのノートpcに、別のpcに乗ってるアプリからアクセス?) 本番環境 サーバー機(コア何個?) windows server 2008(32bitか64bitか不明。windows updateかけて最新?) sql server 2008 パフォーマンス値 メモリ、ネットワークは殆ど使用していない cpuも25%程度(この25%は何を見て、25%と判断?) ってな状況ですと、物理i/oはどうなのか気になります。 また、「ノートpcよりレスポンスが3倍ほどかかるようになりました」では、 1秒が3秒になったのか、 10秒が30秒になったのか、 2分が6分になったのかでも話が変わってきます。 が、まずはインデックスの再構築、統計情報の更新などを試されるといいかと思います。 参考情報として、urlを一つ載せておきます。 参考url:http://technet.microsoft.com/ja-jp/library/ms177500.aspx