ESXi虚拟化的坑-细微区别下虚拟机性能差异巨大


背景

周末在公司无偿加班.
同组的小伙伴周一有一个需求, 
我想着周六乘着机器压力不大进行一下虚拟机的clone
但是截止到晚上快十点都没有完全Clone完.
我感觉非常不对. 
然后突然想是不是硬件的bug导致性能有差异. 
想着最近总是在进行redis的性能测试, 直接可以拿过来验证一把. 
不查不清楚, 一查直接震惊了, ESXi6.7的不同小版本性能差异巨大

机器配置情况

公司里面很多机器都是Inspur NF5280M5的机器
配置基本上都一样 都是2*Intel Golden 5218 2.3Ghz + 1T内存 4THDD*12(Raid6)
为了便于管理大部分都是用ESXi
自从从代理采购之后, 大部分都是代理商给安装好ESXi, 我这边最多调整一下RAID卡的设置
大部分是采用Raid卡的Write back的模式. 

获取部分核心信息的方法 CPU的工作频率
esxcli hardware  cpu list|grep  -i  -E 'cpu:|core speed'
查看内存频率
smbiosDump |grep -i speed
Samsung / W0L300001103DC1430 / 2933 MHz /64G *16
看其他机器的信息为:
Samsung / 1464B712 / 3200 MHz /64G *16
一个比较早的机器为:
Ramaxel /07F22101 / 2666 MHz /32G *20

一个简单结论

6.7的版本下 15160138 的build 的GA时的8169922 性能要好很多
怀疑ESXi6.7 发布之后 进行了非常高的性能优化. 
虽然内存等效工作频率多了200MHZ(7%不到),但是提升足有 40% 以上
感觉只能通过 虚拟化技术水平的提升才能达到. 

另外也切实发现不通操作系统差异巨大,国产系统的测试值都表好一些.  

硬件平台不能单纯看CPU核数内存大小
还要查看 CPU频率, 型号, 内存工作频率, 内存厂商等等. 

性能的变量很多, 稍有不慎,可能就差异巨大. 
相同型号的CPU,在不同的虚拟化背景情况下有 67%的性能差距.

测试结果-注意CPU都是Golden 5218 2.3Ghz

ESXi大版本

ESXi Build版本号

内存工作频率

Redis测试数据

备注情况

6.5

4564106

2666

61200

超售比较厉害-CentOS8

6.5

4564106

2666

66400

超售比较厉害-kylinV10

6.5

4564106

2666

90663

有超售-CentOS8

6.7

8169922

2999

53353

几乎没有超售-CentOS9

6.7

8169922

2999

71458

几乎没有超售-OpenEUler2203

6.7

8169922

2999

57265

几乎没有超售-CentOS9

6.7

15160138

3200

95067

几乎没有超售-CentOS7

6.7

15160138

3200

94881

几乎没有超售-OpenEUler2203

6.7

15160138

3200

102769

几乎没有超售-OpenEUler2203