2009-04-15 5 views

答えて

1

マルチコア・サーバのための当社のソリューション(我々のアプリは、多くのスレッドを作成する傾向があり、これらが連動し、時には、デッドロックを開始し、多くの非常に複雑なクエリを実行):

sp_configure 'show advanced options', 1 
reconfigure 
go 
sp_configure 'max degree of parallelism', 1 
reconfigure 

これは理想的なソリューションではありませんが、我々他のアクションのパフォーマンスの低下に気づいていません。

もちろん、ディスクレイアウトも最適化し、64ビットサーバのSQLサーバメモリを制限する必要があります。

+0

私は同意する必要があります。私たちは、並列クエリに関するあらゆる種類の問題を抱えていました。提案されているようにそれらをオフにして、状況を改善しました。 –

2

ただ、ボトルネックが

http://www.brentozar.com/sql/

に位置している場所を示すために、これらのリンクをチェックし、私はディスクレイアウトとSQL Serverデータベースファイルは、トラブルの原因となっている場所だと思います。

1

また、SQL Serverの設定(メモリ割り当てとAWEメモリ、スレッド、最大クエリメモリ、プロセッサアフィニティ、優先度ブースト)が異なる場合があります。

0

両方のマシンで同じクエリの実行計画を確認し、可能であれば、ここに投稿してください。

ほとんどの場合そうです。

0

あるマシンでは、より高速なクロック速度とメモリで動作するCPUが多く、必ずしも特定の問題を別のものより速く解決するわけではありません。

詳細は記載していませんが、8CPUマシンには、それぞれがシングルコアCPU(P4時代のXeon)と1GBのローカル(RDRAM)RAMを備えた8つのソケットがある可能性があります。 2台目のマシンは、最新のCore 2 Duoで、4GBのDDR2 RAMを搭載しています。

マシン#1の各CPUの個別周波数は高くなっていますが、ネットバーストアーキテクチャはコア2アーキテクチャよりクロックのクロックがずっと遅いです。さらに、CPU負荷が軽いが、メモリを消費する負荷が最初のマシンのCPUのローカル1GBに収まらない場合は、最初のマシンでメモリアクセスが非常に高価になることがあります他のCPUを介して)。さらに、Core 2マシンのDDR2は、XeonのRDRAMよりもはるかに高速です。

CPUの頻度とメモリの合計がすべてではありません。CPUのアーキテクチャ、メモリの種類、CPUとメモリの階層も重要です。

もちろん、他の回答が示唆しているように、SQL Serverがクエリを並列化しようとしている間にはるかに簡単な答えかもしれません。

関連する問題