我想在Linux虚拟化解决scheme(即Xen,KVM和OpenVZ)上运行一些基准testing,我正在考虑如何设置testing环境。 我目前的做法是:
这种方法是好的,还是应该将3个系统完全分开(3个完全独立的安装,每个安装一个解决scheme)?
附加问题:任何提示我应该运行什么样的基准? 我想到了一些编译(如Linux内核),ab(Apache基准)和OSDB(开源数据库基准)。 主要比较各个虚拟机的整体性能,I / O性能和响应时间。
在此先感谢,Mathias
testing应该尽可能接近你在生产中运行的方式。 因此,分别安装每个系统并进行testing。 这可能需要多次展平你的testing盒,但它会得到最干净的结果。 然后专注于创build您的testing用例。 有些在我头顶:
从本质上说,脑力激荡边缘案例,围绕这些案例进行testing。 当一个虚拟机吝啬资源时会发生什么? pipe理程序如何处理资源的超额订阅? 一个虚拟机如何locking很难影响系统上的其他虚拟机?
我读过关于Anandtech.com在虚拟化方面所做的基准testing:
并阅读VMware为什么不允许EULA中的基准testing。 他们给出了一些很不错的基准testing的例子:
强烈build议在testing的每个迭代中只在testing环境中设置一个虚拟机pipe理程序来执行testing。 以这种方式分离虚拟机pipe理程序将减less不必要的交互的可能性; 特别是对于虚拟化的虚拟机。
考虑devise一个额外的testing套件,可以为您的每个有限资源findhypervisor的突破点:
你想要find的是在病理学点之前和之后所经历的行为特质; 以及是否有某些主机虚拟机有某种forms的恢复。
例如,当pipe理程序过载时, 你还能closures虚拟机吗?