SQL Server 2017 Web Edition が CPU 使用率を 25% に制限するのはなぜですか?

SQL Server 2017 Web Edition が CPU 使用率を 25% に制限するのはなぜですか?

私はAmazon EC2でホストされている仮想環境でMicrosoft SQL Server 2017 Web Editionを使用しています。MicrosoftのSQL Server 2017 のエディションとサポートされる機能ページで、「単一インスタンスで使用される最大コンピューティング容量 - SQL Server データベース エンジン」は「4 ソケットまたは 16 コアのいずれか少ない方に制限されます。」となっています。

Windows タスク マネージャーによると、仮想環境には 4 つの仮想プロセッサがあります。しかし、長時間実行され、負荷の高い SQL クエリを実行すると、CPU 使用率は最大 25% になります。

Web エディションの制限が 4 ソケットまたは 16 コアの小さい方である場合、仮想プロセッサを 100% 使用できるはずではないでしょうか。それとも、Windows または SQL Server が仮想プロセッサを分類する方法を誤解しているのでしょうか。

ありがとう

答え1

Windows タスク マネージャーによると、仮想環境には 4 つの仮想プロセッサがあります。しかし、長時間実行され、負荷の高い SQL クエリを実行すると、CPU 使用率は最大 25% になります。

つまり、VM がソケットあたり 1 コアとして表示されていたとしても (これは良くありません)、ライセンスごとに 4 つすべてを使用できることになります。したがって、クエリは並列プランではなくシリアル プランを実行します。

「長時間実行されるクエリ」であり、「CPU の 25%」を消費するという事実は、クエリが適切に記述されていないか、スキーマ設計が標準に達していないことを意味します。いずれにしても、並列プランを使用してクエリを実行すると (クエリが可能な場合)、サーバーの CPU 使用率が通常よりも高くなるだけです。

クエリ、スキーマ、およびサポートオブジェクトを確認して調整するのが最善です。

関連情報