2023年6月3日土曜日

仮想サーバーでvCPUの制限があるときの注意事項

 私もふとしたことでことで先日知ったのですが、当院のサーバーでSQL Server Express Edition を利用してデータベースを管理しております。SQL Server Express Edition では使用できるCPUのリソースに制限があり、複数ソケットで構成されていても1ソケット分しか使用されないといった制限がある。と言う衝撃的な事実を知りました。

つまり、このサーバーにはvCPUを4つ設定していましたが、DBへのアクセスに関してはフルでスペックを発揮できていなかったわけです。
・・・そういうの、後出しではなくちゃんと仕様書に書いてよ( ノД`)シクシク…

要するに1ソケットにすべてのコアがまとまるように構成しなさいよってことです。

今回のSQL Server Express EditionでのvCPUの組み方でダメな例。この状態では1ソケットに対して1つのコアしか割り当たっておらず、本来の性能で動作しない状態です。







そして、修正後はこの状態。ソケットに対して4つのコアが割り当てられた状態であり、正常な状態です。ってかこうしないとダメらしいです。







確認方法は、”ファイル名を指定して実行”より「msinfo32」を実行し、「システム情報」画面を開きます。

左ツリーより「システムの要約」が選択された状態で、画面右側「プロセッサ」の項目を確認します。

ちなみに正常な状態をvSphereのコンソールで確認すると以下のように表示されているはずです。








ソケット1に対してコアが4つ割り当てられています。
使うアプリケーションやDBによって、vCPUなどの構成も最適化が必要なんだなぁ…と改めて感じました。

今回も最後までお付き合いいただきありがとうございました。
次回の仮想化でASOBOもよろしくお願いいたします。