翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CPU コアのミスマッチを回避する
ライセンスでカバーされているよりもコア数の多いサーバーを選択すると、CPU スキューが発生し、CPU パワーが浪費される可能性があります。これは、論理コアと物理コアがマッピングされるためです。SQL Server をクライアントアクセスライセンス (CAL) で使用する場合、いくつかのスケジューラは VISIBLE ONLINE
になり、残りのスケジューラは VISIBLE OFFLINE
になります。これにより、スケジューラノードが最適に使用されないため、不均一メモリアクセス (NUMA) トポロジではパフォーマンスの問題が発生する可能性があります。
たとえば、m5.24xlarge
インスタンスで SQL Server を実行すると、24 コアのソケットが 2 つ、ソケットあたり 48 個の論理プロセッサが検出されるため、合計で 96 個の論理プロセッサになります。48 コアのライセンスしか持っていない場合、SQL Server のエラーログに以下のようなメッセージが表示されます:
2020-06-08 12:35:27.37 Server SQL Server は、1 ソケットあたり 24 コアの 2 ソケット、1 ソケットあたり 48 の論理プロセッサ、合計 96 の論理プロセッサを検出しました;SQL Server ライセンスに基づき、48 個の論理プロセッサを使用します。これは情報メッセージであり、ユーザーによる操作は必要ありません。
総コア数と SQL Server が使用しているコア数に差がある場合は、CPU 使用率の不均衡をチェックするか、ライセンスがサポートしているコア数と同じコア数のサーバータイプを使用します。
CPU スキュー: この例 (m5.24xlarge
) のインスタンスタイプでは、SQL Server はデフォルトで 8 つの NUMA ノードを作成します。これらのノードのうち 4 つ (親ノード ID 0、1、2、3) だけが、ステータスが VISIBLE
ONLINE
であるスケジューラを持っています。残りのスケジュールはすべて VISIBLE OFFLINE
です。このようなスケジューラー間の相違は、パフォーマンスの低下につながる可能性があります。
スケジューラーの情報とステータスをチェックするには、以下を使用します:
$ select * from sys.dm_os_schedulers
お使いの SQL Server ライセンスでサポートされるコア数よりも多いコア数のサーバーインスタンスを使用する場合は、Amazon EC2 ドキュメントの「インスタンスの CPU オプションの指定」の指示に従ってコア数をカスタマイズすることを検討します。