新しいサーバーでのパフォーマンスの低下


11

私たちは専用サーバー(シングルクアッドコア、6 GB RAM)を使用しており、新しい専用サーバー(2xヘキサコア、32 GB RAM)に移行しています。どちらもWindows Server 2008、SQL Server 2008です。新しいサーバーのパフォーマンスは、古い低速サーバーよりもわずかに劣ります。

テストでは、ASP.NETアプリケーションの実行速度が10〜20%遅くなります。STATISTICS IOおよびSTATISTICS TIMEを使用して個々の負荷の高いクエリを実行すると、新しいサーバーでの経過時間が10〜20%長くなります。SQLクエリプロファイルは、高価なクエリでのより高いCPU使用率を示します。

新しいサーバーのタスクマネージャーは、sqlserver.exeが22 GBのRAMを消費していることを示していますが、CPU値は常に非常に低いままです。

私はすべての統計を更新し、インデックスを再構築または再編成しました。実行したテストの量を考えると、この時点で実行プランは新しいサーバーに保存されているはずです。欠落しているインデックスがある場合(私はないと思います)、新旧のサーバーに同じように影響します。新しいものは古いものと同じデータの復元されたバックアップを持っています。

新しいサーバーでのパフォーマンスはもっと良くなると思っていましたが、負荷の方が心配です。負荷がかかった状態でも古いサーバーのパフォーマンスが向上している場合、この少し新しくなった新しいサーバーがその負荷をかけなければならない場合はどうなりますか?

ここで他に何が欠けているでしょうか?

編集:MAXDOPを6に設定。

古いサーバーのOS、データベース、tempdbは同じ物理ドライブ(RAID 10)上にあります。合計4つの15k 3 Gb / s 3.5インチSAS。新しいサーバーには3つのドライブセットがあります。RAID1上のOS、RAID 10上のデータベース、RAID 5上のtempdb。合計9つの15K 6 Gb / s 2.5インチSAS。

古いサーバーには、1 x Intel Xeon E5620 2.40 GHz Quad-Core 8スレッド(w H / T)があります。新しいサーバーには、2つのIntel Xeon E5-2640 2.5 GHz 6コア12スレッド(w H / T)があります。

編集2:これが最終的な分析です:

電源プランは、高性能ではなくバランスの取れたものでした。それを切り替えた。

TempdbはRAID 10ではなくRAID 5にありました。別のHDを追加して、2つの物理的に異なるRAID 10構成を作成しました。

ウイルススキャンから除外されたSQL関連ファイル(mdf、ldf、ndf、bak)。

新しいサーバーへの移動後にすべてのインデックスを再構築しました。それらは非常に断片化されていました-おそらくバックアップ、コピー、復元の結果ですか?

そして、プロセッサのジャンプはそれほど大きくないことに気づきました。クエリはそれほど速く実行されませんが、より多くのプロセッサ、より多くのコア、より多くのRAMがあれば、よりスケーラブルになります。


:O / Sの電源プランのほかにも、BIOSの設定が関連することができますstackoverflow.com/a/27807572/538763
crokusek

回答:


11

RAID 5は、特に書き込みが多いワークロードの場合、RAID 10よりも低速です。そのため、SQLサーバーでは一般的にお勧めできません。また、tempdbではお勧めできません。これだけでも、パフォーマンスの違いを簡単に説明できます。

tempdbをRAID 10に移行することをお勧めします。


4

これは非常に一般的な問題であるため、具体的なアドバイスをすることは困難です。しかし、このような状況になった場合は、基本から始めて、最も負荷の高いクエリを確認します。どの機能に時間がかかっていますか?統計時間でクエリを実行するのに最も時間を消費しているものは何ですか?少し焦点を絞れば、古いサーバーと比較できます。また、確認することは、両方のサーバーが同じパッチレベル(SQLおよびWindows)にあることを確認することです。


3

まあ、あなたはあなたのハードディスクとあなたが持っているtempdbファイルの数について何も言わない。tempdbのnr = 32までのコアの数という一般的な推奨事項があります。tempdbが均等に使用されるようにするためにスローするスイッチもあります。

ただし、詳細:http ://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%281230%29-tempdb-should-always-have-one-data- file-per-processor-core.aspxでは 、移行中にテーブルとインデックスのパッキングも変更しましたか?バックアップと復元は、インデックスの異なるパディング(クラスター化されたものを含む)にデフォルト設定される可能性があります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.