Hi all,
I have a couple of questions around a new MS SQL install as currently all of my experience with SQL has been on physical servers.
I hope this makes sense. I really appreciate any comments or advice.
Have a good day and many thanks.
Hi,
There is nothing wrong with using the DRS rule option to bind the SQL server to the hosts. I have used that method before and it works fine. If the SQL business owner is concerned about available resources for the server you could always use resource pools to dedicate resources to the server.
With regards CPU it would be 8 x sockets with 2 cores per socket.
Cheers
Hi,
There is nothing wrong with using the DRS rule option to bind the SQL server to the hosts. I have used that method before and it works fine. If the SQL business owner is concerned about available resources for the server you could always use resource pools to dedicate resources to the server.
With regards CPU it would be 8 x sockets with 2 cores per socket.
Cheers
Hi,
Thanks for the response and the confirmation around the DRS rule.
With regards CPU it would be 8 x sockets with 2 cores per socket.
So this would basically use 16 vCPU anyway but its preferable to assign it as 8xCPU, 2xcores per socket rather than 16xCPU?
Many thanks
Hi there,
Its "Best Practice" to go with sockets unless licensing or OS version dictates otherwise, i.e. if you are running Windows 2008 R2 Standard then the maximum number of processors is four. At that point you then need to align the virtual hardware to the underlying NUMA architecture for best performance.
Hope that helps.
Some further reading I have found useful, in addition to ThompsG's excellent advice:
Setting the number of cores per CPU in a virtual machine (1010184) | VMware KB
As an aside: I have always wondered however how virtual sockets/cores work against core sharing settings in the Advanced CPU settings?
For example, if I have a Windows Server 2008 R2 Standard VM running a heavily threaded application on a host with eight hexacore CPUs can I assign 4 sockets and 8 cores with core sharing set to none or internal to that VM and comply with licensing and ensure my VM threads stay coupled?
Obviously I know this can still create thread scheduling issues on the host when overcommited, I was just curious how the sockets/threads config works against core sharing.