Windows Server 2003 r2 と 2008 r2 - SQL Server のパフォーマンス

Windows Server 2003 r2 と 2008 r2 - SQL Server のパフォーマンス

まず、私はシステム管理者ではなく、サーバーのパフォーマンスの低さにイライラしている単なるプログラマーです…

現在、システム プロパティ ダイアログによると、新しい E5-2650 CPU、24 GB RAM を搭載した VM (ホストは Win Server 2008 だと思います) を実行しています。SQL VM にアクセスできるのはホストのみなので、そのリソースが何であるかはわかりません。申し訳ありませんが、その辺はよくわかりません。また、必要もないのに質問しまくって、現在のシステム管理者に迷惑をかけているような気分にさせたくはありません。アップグレードすれば改善されるなら、アップグレードを勧めたいだけです...

当社では SQL Server 2008 r2 を実行しており、すべてのクライアントは 2008 を実行しているターミナル サーバー経由の Win 7 または RC です。当社のアプリケーションは、特に組織の規模を考慮すると、非常に多くの DB を消費します。

私の主な質問は、現在 Windows Server 2003 r2 sp2 を実行しているのですが、Server 2008 r2 (またはそれ以降) にアップグレードするとパフォーマンスが著しく向上する可能性があるかどうかです。新しい機能により他の部分でパフォーマンスが向上する可能性があると読んだことがありますが、DB のパフォーマンスについてコメントしている人は見たことがありません。

もしそうなら、私の主張を裏付けるために使える証拠はありますか?

さらに、SQL 2008 r2 を実行しており、クライアントは Win 7 なので、クライアントにはどの DB ドライバーをインストールする必要がありますか? サーバーには何をインストールする必要がありますか?

何か詳しく説明する必要がある場合は、コメントしてください。

答え1

重複の可能性がある: データベースの負荷テストと容量計画はどのように行いますか?

システム管理チームと協力して、現在のボトルネックを測定および特定する必要があります。彼と関わりにくい場合は、同情しますし、それは残念です。彼と最もうまく連携する方法を見つける必要があります。「遅いです!」と言うのではなく、再現可能なテスト ケースを使用して、問題をしっかりと説明することをお勧めします。また、Perfmon と SQL プロファイラーを使用してください。あなたが私たちに伝えてくれたわずかな情報から、問題はインデックスの不良である可能性があり、その場合はあなたの責任です。SQL が遅いと判断するものがわかれば、コード、DB レイアウト、遅い IO、CPU の負荷など、原因がわかります。

ボトルネックが何であるかがわかれば、Win2k8 R2 が役立つかどうかがわかります。

ヒント: おそらくそうではありません。

追加の考察: なぜ 2012 R2 ではなく 2008 R2 を検討しているのですか?

答え2

はい、基本です:

32 ビットの 2003 R2 について話さない限り、違いは最小限になります。

データベースのルール 1 - 生死は IO によって決まり、通常の VM は負荷の高い IO 作業にはまったく適していません。VM が悪いからではなく、VM セットアップが一般的なセットアップだからです。標準的なレンタカーを借りてレースに参加しようとするのと同じように、SQL データベース サーバーはディスク サブシステムを中心に設計されることがよくあります。

ディスク サブシステムのサイズが全体的に小さい可能性があります。レイテンシ (ms/リクエスト) を取得してみてください。これが 1 桁台前半より高い場合は、クエリのパフォーマンスに影響します。それでも問題ない場合もあります (レポート クエリを実行すると、基本的に過負荷になります) が、トランザクションの場合は... ログも同じディスク上にあるはずです。VM では、データがどこに保存されるかを実際に制御できないためです。

OS によって違いは生じますが、その事実に比べれば、その差はごくわずかです。私は最近、2003 サーバーで何かを実行するつもりはありませんし、2012 R2 ではなく 2008 R2 にアップグレードする管理者は解雇します。しかし、大企業ではポリシーがそれを妨げている可能性があります ;)

関連情報