背景
有兄弟在客户那测试虚拟机性能
测试结果说cpu和内存损耗40%以上
按理说使用了kvm创建的虚拟机,即使用的vt-x和ept,都是硬件进行的不应该损失这么大
修正
将cpu pin住
设置numa
结果
(网卡是pci直通的网卡)
(磁盘是挂的裸盘)
附1
设置numa的时候发现qemu不支持跨cpu号设置
比如不允许1,3,5,7号cpu绑定为一个node
解决方法:
cpu进行pin的时候讲计划在一个node的cpu都pin到连续
附2
上述的测试只是模型测试
真正上大数据业务的时候,发现测试结果依然有差距
裸机测试(Pi)
虚拟机测试
抓出信息,可见iowait较高
virtio前后端ring间数据拷贝会占用大量资源
hadoop跑起来也会占用大量资源
导致两者相互抢资源
最可怜的是当时主机只有12个cpu,开启了超线程有24核
外挂了11块磁盘,每块盘2T左右
优化方向?
经过排查确认大数据平台处理业务的时候,从dnsmasq获取ip
导致周期性的暂停10s,修复后结果如下: