Sql Server Expressには、パフォーマンスに影響を与える次の主要なハードウェア制限があります。
1 CPU
1GBのメモリ
私の質問は、マルチコアマシンでSQL Server Expressの多くのインスタンスが実行されている場合、各インスタンスはどのプロセッサを使用しますか?
例:デュアルコア-4つのSQL Server Expressインスタンス(SS1、SS2、SS3、SS4)
何が起こるのですか?
SS1-Core1
SS2-Core2
SS3-Core1
SS4-Core2
?
または、すべてのインスタンスが同じCPU(Core1)を使用しますか?
そうでない場合、SQL Server Expressインスタンスはどのように使用するコアを選択しますか?
技術的には、SQL Server Expressは1つのCPUを使用せず、1つのCPUを使用します SOSスケジューラ 。つまり、DACのようないくつかの特別なスレッドを無視して、プロセスには常に1つのアクティブなスレッドしかありません(1つのワーカーが1つのスケジューラーを自分用に持っています)。このSOSスケジューラーは、CPUを実行するように強制することはなく、OSに任されているため、SQLExpressは使用するコアを「選択」しません。手動による介入は必要ありません。 、並列で実行されている4つのSQL Expressインスタンスは、それぞれ別々のコア上のOSによってスケジュールされます。 アフィニティマスク オプションを使用して、処理を強制できます。