Jaroslav Latal
asked on
performance of Virtual SQL server (Hyper-V)
Dear experts, do you have experience with 2012R2 Hyper-V virtualized SQL server performance.
I'm going to assign plenty of RAM and attach physical SSD hard drive RAID10 array to virtual server, but I'm afraid about degradation of CPU performance.
Regards,
Jarda
I'm going to assign plenty of RAM and attach physical SSD hard drive RAID10 array to virtual server, but I'm afraid about degradation of CPU performance.
Regards,
Jarda
SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
Sure, you can assign 4 vCPU to a VM (or even more) when the host has 16 physical cores. Depending on how busy the host is, it may not speed up the VM and may slow it down. The reason being that the host will need to have 4 physical cores available before it can execute any instruction for the VM. If the host is really busy, this means that the VM will spend more time waiting for the CPU than if it had two vCPU, which would be easier to schedule than 4 vCPU.
When SQL is virtualized there are a number of key factors to consider:
+ IOPS needed for all databases
+ Memory required for all instances in the VM
+ Thread count required to process all database activity
Bottlenecks in our experience are as above:
+ Storage I/O
+ Memory and NUMA boundaries
+ Physical Core Count
NOTE: vCPUs = Threads to the physical host. All threads must be processed in parallel throughout the CPU pipe. If more vCPUs than physical cores on 1 CPU get assigned to the VM then CPU logic needs to bounce threads between physical CPUs. This costs in performance.
+ IOPS needed for all databases
+ Memory required for all instances in the VM
+ Thread count required to process all database activity
Bottlenecks in our experience are as above:
+ Storage I/O
+ Memory and NUMA boundaries
+ Physical Core Count
NOTE: vCPUs = Threads to the physical host. All threads must be processed in parallel throughout the CPU pipe. If more vCPUs than physical cores on 1 CPU get assigned to the VM then CPU logic needs to bounce threads between physical CPUs. This costs in performance.
ASKER
Regards,
Jarda