【IT168 专稿】虚拟主机技术日渐普及,而关于虚拟主机引擎的性能效率,目前仍然没有太多参考。VMware的官方说法是“虚拟机中硬件资源基本没有损耗”,但并没有给出明确的量化结果。
当然,这个题目也的确太大。要作出真正有信服力的结果,需要考虑相当多的因素。受条件所限,笔者只能将实验一再简化。因此这里的结果还较为粗浅,只能算做初步尝试。按工程师的说法,相当于0.01版。仅作为抛砖引玉,希望吸引更多的人共同进行更多测试。
以下是测试条件和步骤:
测试对象——WMware Server(GSX)
挑选VMware Server作为虚拟引擎主要有两个原因:1)是应用比较广泛;2)是可以免费下载,大家都可以试试。
其实笔者对VI3(ESX)的性能效率更感兴趣,稍后有时间会进行后续测试。
测试工具——IOmeter
最常用的裸设备性能测试工具还是IOmeter,其他工具要么会受文件系统拖累,要么工作机制跟IOmeter差不多。
缺憾是IOmeter在Linux平台没有管理界面,必须通过网络在Windows上配置。
测试方法——对比五种情况下的性能
笔者把这五种情况简称为“LinVM raw”、“LinVM vmdk”、“WinVM raw”、“WinVM vmdk”和“raw”,以区分Linux和Windows虚拟引擎中不同虚拟磁盘模式。具体的含义如下。
所有vmdk都是pre-allocated,否则性能差得要命,根本没必要比较。
所有操作系统均以缺省配置安装,并将补丁升级到最新。此外未做任何优化调整。
除了“raw”之外,IOmeter均运行在Guest OS,所有性能测试均针对裸设备。
测试说明——仅针对Windows用户而言
由于所有测试都是在Windows上完成,当Host OS为Linux时,性能损耗有可能来源于虚拟引擎自身,也有可能来源于Host OS与Guest OS之间不一致的IO行为。也就是说,即便WMware Server for Linux在某些情况下会拖累虚拟机中Windows的磁盘性能,但不一定也会同样拖累虚拟机中的Linux。如果要明确结论,需要把所有的测试在Guest为Linux时重新做一遍。日后笔者会进一步补充,目前这个结论暂时只提供给Windows用户作为参考。
总之,在下面的分项结论中,如果有“Linux虚拟引擎性能低”之类的结论,它实际上指的是“在Guest为Windows的时候,Linux虚拟引擎性能低,如果Guest为Linux则不一定如此”。
| 第1页: 测试条件和步骤 | 第2页: 结果:效率与IO模式有关 |