发新话题
打印

[技术文献] VMware上虚拟磁盘的性能

VMware上虚拟磁盘的性能

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

测试对象——VMware ServerGSX
挑选VMware Server作为虚拟引擎主要有两个原因:1)是应用比较广泛;2)是可以免费下载,大家都可以试试。
其实我对VI3ESX)的性能效率更感兴趣,等有时间一定测试一下。

测试工具——IOmeter
最常用的裸设备性能测试工具还是IOmeter,其他工具要么会受文件系统拖累,要么工作机制跟IOmeter差不多。
缺憾是IOmeterLinux平台没有管理界面,必须通过网络在Windows上配置。

测试方法——对比五种情况下的性能
我把这五种情况简称为“LinVM raw”、“LinVM vmdk”、“WinVM raw”、“WinVM vmdk”和“raw”,以区分LinuxWindows虚拟引擎中不同虚拟磁盘模式。具体的含义如下。

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 OSLinux时,性能损耗有可能来源于虚拟引擎自身,也有可能来源于Host OSGuest OS之间不一致的IO行为。也就是说,即便WMware Server for Linux在某些情况下会拖累虚拟机中Windows的磁盘性能,但不一定也会同样拖累虚拟机中的Linux。如果要明确结论,需要把所有的测试在GuestLinux时重新做一遍。日后我会再补充,目前这个结论只能给Windows用户作为参考。
总之,在下面的分项结论中,如果有“Linux虚拟引擎性能低”之类的结论,它实际上指的是“在GuestWindows的时候,Linux虚拟引擎性能低,如果GuestLinux则不一定如此”。

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


seqR_IO.jpg
seqR_MB.jpg

seqW_IO.jpg

seqW_MB.jpg

ranR_IO.jpg

ranR_MB.jpg

ranW_IO.jpg

ranW_MB.jpg

mixRW.jpg

TOP

:handshake

TOP

好好好啊.呵呵,我来帮你顶顶了

TOP

见识了,支持!!!!!!!!!!!!11

TOP

发新话题