我有一个虚拟机在12.04 Ubuntu主机中运行。 VM是使用vmbuilder python脚本创build的。
在主机上,phoronix-test-suite“aio-stress”提供了> 1600MB / s的随机写入吞吐量。
虚拟机(也运行12.04)给出了大约3MB / s的随机写入吞吐量 。 远远更穷。 http://openbenchmarking.org/result/1301161-BY-20130116176
我已将默认文件映像types从qcow2更改为主机上的raw,以提高磁盘吞吐量并确保编辑vmbuilder模板以使用“virtio”作为目标dev。
这导致了速度提高到7.5MB / s – 仍然低于我的预期。
去年运行10.04(10.04个虚拟机)的同一台机器达到了700MB / s的吞吐量 : http : //openbenchmarking.org/result/1205239-BY-20120523168
任何人都可以指出我可能是什么问题?
遵循IBMbuild议 ,您应该:
禁用磁盘上的caching。 如果您使用libvirt,只需将cache='none'放入驱动器的磁盘部分即可。
在虚拟机中使用noop作为电梯,让虚拟机pipe理程序处理它。 在你的VM中使用这个作为内核CL: elevator=noop
在pipe理程序上,使用截止date电梯: elevator=deadline
在pipe理程序上,禁用swappiness。 把vm.swappiness = 0放到你的/etc/sysctl.conf文件中。 然后,使用sysctl -p 。
所有这些都会大大提高你的表演。 然后,给你的(硬件)configuration,可以使用更具体的提示。 我build议您仔细阅读IBM文档。