虚拟化的部署并不意味着性能的提升

服务器在线 8月29日国际报道:尽管听起来有点不可思议,但虚拟化技术确实能改进某些应用软件的性能。虚拟化的管理费用并不总是意味着以牺牲性能为代价,芯片制造商AMD公司所做的试验就证明了这一点。诸如VMware这样的虚拟化平台厂商在过去几年里一直和AMD(当然也包括英特尔)这些芯片制造商密切合作来确保他们的管理程序和其他虚拟化技术能从在目前的多核中央处理器基础上构建的虚拟化扩展中实现回报最大化。即使这样做会涉及到虚拟化的管理费用。

AMD公司的产品销售总监Margaret Lewis最近接受采访时谈到了公司使用Memcached的一些体验,这款被诸如YouTube, Twitter, Digg和WordPress等许多知名公共云服务提供商所使用的开源分布式对象缓存系统可以通过缓存后端数据库数据的压力来提高他们应用软件的性能。但是Memcached自身也存在一个问题,基本上可以归结为一个事实就是这些年来网络标准过去陈旧。所使用的网络标准最初还是在2003年所研发的,那时大部分服务器处理器还只有一个核心。Lewis表示之前的研究结果显示,Memcached存在线程的局限,在超过4到6个线程时性能就达到了极限。

这是那些需要向上扩展他们工作负载的企业用户不得不面对的问题,因为这种局限意味着Memcached无法利用功能强大的多核处理器。要扩展应用软件就必须在多个服务器上运行,因为单纯的在上面集成更多的核心是无济于事的–因为线程受限。当然这种问题不仅涉及到Memcached,对于任何线程受限的应用软件都是如此。这是个令AMD特别头疼的问题,因为他们业务就是围绕推出功能越来越强大的多核处理器来展开的。这也是服务器虚拟化登上历史舞台的原因。

为了解决这个问题,AMD公司使用配置AMD皓龙6100多核处理器和在红帽Linux 6.1操作系统上托管的VMware ESX多个虚拟机以及Memcached的服务器进行了实验。Lewis表示平均延迟和系统利用率的平衡吞吐量不会消耗过度的服务器主机资源就能实现这种配置下更好的性能。

结论是什么呢?与在非虚拟化的服务器上运行Memcached相比,在服务器的12个虚拟机上运行Memcached,AMD能够获得生产能力三倍的提升。“这听起来有些荒谬,但是这显示出任何应用软件都存在线程的局限,虚拟化能帮助用户解决这个瓶颈。基本上说,我们发现虚拟化技术所带来的性能回报超过了虚拟化的管理费用,因此你能获得更高的系统产出。这是虚拟化潜在的优势所在”。

另外,AMD公司发现Memcached的产出可以根据使用的虚拟机数量线性扩展(按照你所期望的),这说明像Memcached这样存在线程局限的应用软件可以在虚拟机环境中通过功能更加强大的硬件来实现有效的扩展。AMD是一家硬件制造商,毫无疑问会对这个结论非常的满意。