
Ich arbeite an einer virtuellen Maschine, auf der SQL Server Express (als Teil von Sage Line 50 Manufacturing) ausgeführt wird. Die Details sind wie folgt:
Physischer Server (Host-Computer)
- Intel Xeon Quad Core 2,1 GHz
- 4 GB RAM
- VMDK-Image gespeichert auf RAID-5 500 GB SATA-Laufwerken (7200 U/min)
- Ubuntu 10.04 Server 64 Bit
- VMware Server 2
Virtuelle Maschine
- Windows Small Business Server 2003
- 2 vCPUs und 2 GB RAM zugewiesen
- Verwendung einer vorab zugewiesenen flachen VMDK-Datei mit 100 GB
Mein Problem ist, dass in SQL Server ein CPU-intensiver Prozess ausgeführt wird. Auf dem alten physischen Server, von dem wir auf die virtuelle Maschine migriert sind, wurden beide CPU-Kerne genutzt, sodass der Prozess sqlserver.exe zu 100 % auf jedem der CPU-Kerne ausgeführt wird. Auf der virtuellen Maschine scheint nur einer der beiden CPU-Kerne verwendet zu werden, was bedeutet, dass der Prozess viel langsamer ausgeführt wird.
Frage
Gibt es eine Möglichkeit,GewaltSoll SQL Server (Prozess sqlserver.exe) beide CPU-Kerne verwenden und seine Last zwischen ihnen verteilen? Ist dies eine VMware-Einstellung, die geändert werden muss, damit Prozesse beide Kerne verwenden können?
Antwort1
Ich habe nicht viel Erfahrung mit MS SQL Express-Datenbanken auf virtuellen Maschinen, aber ich glaube, Sie sind einfach auf die Hardwareeinschränkungen der MS SQL Express Edition gestoßen.
Ich gehe davon aus, dass Ihr physischer Server 1 CPU mit 2 Kernen hat. MS SQL Express 2008 (und ich glaube auch 2005) unterstützt nur EINE physische CPU, aber mehrere Kerne.
Eine VM erkennt jede vCPU als einzelne CPU und nicht als zusätzlichen Kern. Daher ist der Prozess sqlserver.exe auf 1 vCPU beschränkt.
Antwort2
In vSphere (und dies gilt möglicherweise nicht für VMware-Server, könnte aber für Personen nützlich sein, die über diese Antwort stolpern) können Sie die Anzahl der einer VM bereitgestellten „Kerne pro Sockel“ ändern, um Multi-Core-CPUs (oder Hyper-Threading-CPUs) genau widerzuspiegeln.
Siehe diesen Artikel:http://www.virtualizationbuster.com/?p=132