
私は、RAID 5 ディスク アレイを備えた Win2003 32 ビット (3.5 GB RAM) 4 CPU サーバー上に SQL Server 2005 をインストールしていますが、パフォーマンスは仮想 2008-SQL Server Win2008 32 ビット 2 GB RAM Raid 5 サーバーの 1/10 です。
ジョブは、1 つのデータベースの 1 つのテーブルから 8,500 万件のレコードを削除することです。6 時間後、テスト環境としての仮想サーバーはジョブを終了しました。同時に、実稼働サーバーはほぼ 100 万件の削除をすべて完了しました。実際の Win2003 サーバーに何が問題なのでしょうか?
どこを見るべきか、どのパラメータが問題を決定するのか?
平和
氷
PS: これらのシステムを比較するのは不公平でしょうか?
答え1
おそらく、本番サーバーには処理すべき他のリクエストがあるため、リソースを共有し、ロックを待機する必要があります。
この提案はstackoverflowで問題は問題なく解決されるはずです。
答え2
パフォーマンスの違いはそれほどひどいとは思いませんが、すべて状況によります。同じハードウェアで 03/sql05 から 08/sql08 に変更すると、アプリケーション パフォーマンスが最大 7 倍向上するというベンチマーク結果が出ました。905 サーバーで並列処理を 1 に変更してみるとよいかもしれません。そうすることで、ヒントが不十分なクエリが改善された例があります。さらに、各クエリの RAM 容量、その他のディスク I/O アクティビティの有無、プロセッサの種類を確認してください。2.4 GHz の Nehalem プロセッサでは、Merom 3.2 GHz のプロセッサが半分の速度で動作しているように見えることがあることに注意してください。
答え3
両方のマシンの delete ステートメントの実行プランを確認し、その違いを確認します。統計が更新されていることを確認します。