服务器 频道

测试手记:如何提高Vmware虚拟化的性能

2)内存问题

    就我们的测试而言,ESX Server的损耗主要还是来自系统内存和处理性能上。为了充分利用现有的硬件资源,我们考虑把内存资源进行划分,因为在理论上,现有的内存没有被充分利用。比如,服务器上的某个应用只使用了2GB总内存容量中的512MB,对2.8 GHz CPU的占用率也只有25%。如果把这个应用迁移到VMware ESX Server上,并为其分配512MB内存和700 MHz CPU,我们还有余下的资源可以分配给其他应用。基于这种考虑,我们在测试也根据应用的需求不同对2GB内存进行了划分——比如,SQL Server至少需要1GB内存,而Exchange Server 2003需要512MB内存就够了。

    VMware有内存页面共享技术,可以让VI3分配至少两倍于物理内存的虚拟内存。在你打算整合那些分散在各个物理服务器上,却又不常用的应用时,如文件和打印服务,这项技术就比较有用了。在一台服务器上可以运行10个虚拟机,而这些应用同时需要CPU和内存资源的可能性又比较小,即使同时运行,性能低一点也是可以忍受的。

    不过,在用SilkPerformer 2006测试IIS性能时发现,局域网性能受到了较大的影响——hits per second下降了18%,kilobits per second也下降了20%。这说明,跟SQL Server和Exchange不同,在把应用从一个有2GB内存的主机迁移到一个只有512MB内存的虚拟机上时,要付出相当的代价——内存减少比磁盘操作增多对性能的影响更大。

    当然,为虚拟机增加内存,就能使局域网应用测试的性能提高。把内存从512MB增加到1GB,能提高10%的吞吐量,性能损失也能从20%降到12%。可见,对于那些内存消耗比较多的应用,给虚拟机分配尽可能多的物理内存是有好处的。

    不过,并不是在所有情况下增加资源都能提高性能。比如在测试中给虚拟机多加一块虚拟网卡就不能提升性能;在测试SQL Server时增加内存,也没能提高性能,因为它测试的主要是磁盘操作。

0
相关文章