ハイパースレッディングを無効にする必要がありますか


8

背景はかなり密接にプロセッサの活動を監視するために、SQL歩哨を使用して私を持っていた私は最近、最近、いくつかのかなり高いCXPACKETの待ち時間に見てきました。

結果として気づいたことの1つは、コンテキストの切り替えに大きなスパイクがあることです。以下は5分のサンプルですが、このパターンは1日を通して非常に一般的です。

環境

あなたが見ることができるように、それはかなり定期的に急上昇します。これについての私の理解は、これがCPUのプレッシャーの結果であると信じるようになります。しかし、その間、かろうじて60%を超えます。

プロセッサー

いくつかの調査の結果、これはハイパースレッディングの結果として発生していると私に思わせました。ハイパースレッディングの危険のいくつかを以前に読んだことは知っていますしかし、それはかなり前に書かれました。

長い話を短くします。ハイパースレッディングは、コンテキストの切り替えにおけるこのスパイクの原因である可能性がありますか?コンテキストの切り替えが並列クエリに悪影響を及ぼしている可能性はありますか?私の環境ではハイパースレッディングを無効にする必要がありますか?

更新この特定のことが私の環境で起こっていますが、その核心にある質問はより普遍的です。高レベルのコンテキスト切り替えは、並列クエリにどの程度影響がありますか?ハイパースレッディングはこの種の問題を引き起こす可能性がありますか?

最終的に私がインターネットで見つけたもののほとんどは、ハイパースレッディングとSQL Serverは良い友達ではないことを示唆していますが、ほとんどの場合、その情報は非常に古いものです。

私のシステム構成に関する質問がたくさんあったので、それらを除外できるようにここで取り上げます。OSとbioの両方のレベルでパフォーマンスの電源設定があります。Maxdopは8に設定され、並列処理のコストしきい値は25です。32の論理コアと16の物理コアがあります。また、これは大部分がデータウェアハウスの負荷シナリオです。


11
ハードウェアが本当に古い場合を除いて、最初に並列処理のMAXDOPを下げるか、コストのしきい値を上げることを検討します。並列処理されるクエリが短すぎたり小さすぎたりする可能性があります。(そして、HTを無効にしても、期待したプラスの効果が得られないかもしれません。)
アーロンバートランド

1
高性能とは対照的に、バランスの取れた電源プランを設定していますか?
Kin Shah

@aaronbertandのコメントに便乗する。現在のMaxdopは、32の論理コアで8です。手元にある番号を思い出せないので、コストのしきい値を再確認する必要があります。
ゼーン

@kinハイパフォーマンスは現在設定されています。
ゼーン

1
@ZaneはWindowsまたはBIOSにありますか?
トムV-topanswers.xyzを試してみてください

回答:


1

多くの場合、特定のクエリが並列処理で実行されていることを示しています。サーバーでのCXPACKET待機は、別の問題の症状である可能性がありますが、問題の即時の兆候ではありません。

サーバーがデータウェアハウスまたはレポートタイプのデータベースをホストし、少量のクエリを受信するが大量のデータを処理する場合、並列処理により、これらのクエリの実行にかかる時間を大幅に短縮できます。ただし、対照的に、サーバーが小さなクエリとトランザクションを多く含むOLTPデータベースをホストしている場合、並列処理はスループットを低下させ、パフォーマンスに悪影響を及ぼす可能性があります。

システム全体のスループットが向上するため、可能な限り、基になる待機タイプを分離してトラブルシューティングすることをお勧めします。繰り返しますが、CXPACKETの待機は、ほとんどの場合、実際の問題ではなく、単に問題の症状です。

sys.dm_os_latch_stats DMVには、インスタンスで発生した特定のラッチ待機に関する情報が含まれます。また、トップラッチ待機の1つがACCESS_METHODS_DATASET_PARENTである場合、CXPACKET、LATCH_ *、およびSOS_SCHEDULER_YIELD待機タイプがトップ待機として、システムでの並列処理はクエリ実行時のボトルネックの原因であり、問​​題を解決するには、 'max degree of parallelism'のsp_configureオプションの削減が必要になる場合があります。

このTechNet Magazineの記事は古くなっていますが、プロセッサごとに毎秒5000を超えている場合は、ハイパースレッディングをオフにしようとしています。

Zach NichterによるSQL Server CPUパフォーマンスの最適化


cxpacketの待機が問題の兆候であることを示唆していません。ハイパースレッディングは、コンテキストスイッチでこれらのスパイクを引き起こす可能性があれば、それらのスイッチはマイナスの並列クエリ影響を与えることができれば私が知りたいことはある
ゼイン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.