chainofhonor 发表于 2024-3-15 21:38

探索HYPER-V的性能

本帖最后由 chainofhonor 于 2024-3-15 22:34 编辑

HYPER-V未配置为启用处理器资源控制
https://zhuanlan.zhihu.com/p/471992419

Get-WinEvent -FilterHashTable @{ProviderName="Microsoft-Windows-Hyper-V-Hypervisor"; ID=2} -MaxEvents 1

bcdedit /set hypervisorschedulertype Classic
Hypervisor scheduler type is 0x2.

还有一个Core的调度类型
bcdedit /set hypervisorschedulertype Core
Hypervisor scheduler type is 0x3.

bcdedit /set hypervisorschedulertype Root
这个Root的调度类型就是0x4 就是WIN10默认的类型

调度种类
https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/manage-hyper-v-scheduler-types




物理机的CPUZ跑分是692 3400

实测结果:
Root的调度类型虚拟机的CPUZ跑分最高 单核666多核2600
但是其实也高不了多少666 692 少了一点点得分而已

Core的调度类型损失比较多的性能
单核623 多核1658
优点是强制绑定到核心,不会有争抢 (看多核的得分就明白了,只有物理机一半的多核得分)
性能损失了约10%
感觉有点不划算 而这个调度模式是server2019的默认模式

Classic调度类型
单核646 多核2556
稍微比Root模式低一点




然后在Root调度模式下
测试在宿主机上把虚拟机的CPU相关性改为指定的核心

我的宿主机4核8线程
虚拟机我给了4个核心
然后我绑定到4567这4个核心
CPUZ单核跑分只有不到650 多核只有1700了

然后我绑定到0246这4个核心
CPUZ单核跑分666 多核2606

重新绑定到4567这4个核心
CPUZ单核649 多核1731(结合这2条可以得出结论,超线程大概提升了30%性能)
正常了

绑定到67这2个核心
CPUZ单核跑分549 多核860

绑定到7这1个核心
CPUZ单核跑分243 多核657


结论:
用Root调度模式
然后进任务管理器手动分配相关核心 这样的性能最好 然后安全性也不错
官网说了,不建议在server系统下使用Root调度模式
Server系统下默认的调度模式是Core 其实也够用了




在Core模式下又测试了一会CPU性能限制
限制为50% 实测效果只有38%
限制为10% 实测效果只有3%了
看来各大云服务器厂商都是没有设置CPU限制的,只设置了核心数,让虚拟机自己去争抢资源

ruanjianxuqiu 发表于 2024-5-16 03:26

hyperv网络交换机的设置很不好用,把网卡都虚拟化了,而且hyperv不能虚拟声卡,而很多linux应用还不如直接使用vmware安装更直接,wsa其实也是一个轻量级的linux,这样来关闭hyperv直接使用vmware和各种模拟器反而优化得更好,开始我也想在win环境下用hyperv会不会性能好点,然而带来的负面影响更大

腿毛飘飘 发表于 2024-5-16 04:34

ruanjianxuqiu 发表于 2024-5-16 03:26
hyperv网络交换机的设置很不好用,把网卡都虚拟化了,而且hyperv不能虚拟声卡,而很多linux应用还不如直接 ...

那个默认的nat网关的内网网段重启就会变的bug从不晚于win10 1809就存在,一直没人管。

YsHaNg 发表于 2024-5-16 05:07

ruanjianxuqiu 发表于 2024-5-15 19:26
hyperv网络交换机的设置很不好用,把网卡都虚拟化了,而且hyperv不能虚拟声卡,而很多linux应用还不如直接 ...

linux gui app一年也用不了几回 直接wsl cli省事 实在需要界面也可以wslg临时凑数

danety 发表于 2024-5-16 07:29

hyperv也一直在用,胜在方便,性能损失点也没啥

wolfpan 发表于 2024-5-16 08:11

不错[再见]

dcl2009 发表于 2024-5-16 09:38

性能还好,兼容性不知道啥时候解决,等了hyperv快10年了,一些版本的Linux核心开多了依然卡卡卡,换esxi就没问题

yoloh 发表于 2024-5-16 10:04

hyper-v要是好用,vmware也不至于这么流行。

卢奇亚诺 发表于 2024-5-16 11:58

任务管理器里面应该锁哪个程序核心,vmmem吗
页: [1]
查看完整版本: 探索HYPER-V的性能