浅探虚拟机中的磁盘性能(一)

2009-05-13 07:27:23来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


浅探虚拟机中的磁盘性能(一)
虚拟主机技术日渐普及,而关于虚拟主机引擎的性能效率,目前仍然没有太多参考。VMware的官方说法是“虚拟机中硬件资源基本没有损耗”,但并没有给出明确的量化结果。
当然,这个题目也的确太大。要作出真正有信服力的结果,需要考虑相当多的因素。受条件所限,我只能将实验一再简化。因此这里的结果十分粗浅,只能算做初步尝试。按工程师的说法,相当于0.01版。

测试对象——VMware 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虚拟引擎中不同虚拟磁盘模式。具体的含义如下。

LinVM raw
LinVM vmdk
WinVM raw
WinVM vmdk
Raw
Host OS
SuSE 9
SuSE 9
Win2k3 R2
Win2k3 R2
Win2k3 R2
Guest OS
Win2k3 R2
Win2k3 R2
Win2k3 R2
Win2k3 R2
None
虚拟磁盘
Physical
vmdk文件
Physical
vmdk文件
None
Host FS
None
Reiserfs
None
NTFS
None
所有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则不一定如此”。

测试结果——效率与IO模式有关
我测试了顺序读、顺序写、随机读、随机写和混合读写这五种情况,发现在不同情况下,虚拟引擎的效率差别明显,有些结果甚至出乎我最初的意料。比如,与“文件模式”(pre-allocated vmdk file)相比,“设备模式”(Physical Disk)在各种情况下,基本没有体现出明显的优势,某些情况下甚至劣势明显,这是我测试之前万万没想到的。

  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD SSH配置详解

下一篇:使用命令行高效地进行文本编辑