諸如VMware這樣的虛擬化平臺廠商在過去幾年里一直和AMD(當然也包括英特爾)這些芯片制造商密切合作來確保他們的管理程序和其他虛擬化技術能從在目前的多核中央處理器基礎上構建的虛擬化擴展中實現回報最大化。即使這樣做會涉及到虛擬化的管理費用。
AMD公司的產品銷售總監Margaret Lewis最近接受采訪時談到了公司使用Memcached的一些體驗,這款被諸如YouTube,Twitter,Digg和WordPress等許多知名公共云服務提供商所使用的開源分布式對象緩存系統可以通過緩存后端數據庫數據的壓力來提高他們應用軟件的性能。但是Memcached自身也存在一個問題,基本上可以歸結為一個事實就是這些年來網絡標準過去陳舊。所使用的網絡標準最初還是在2003年所研發的,那時大部分服務器處理器還只有一個核心。Lewis表示之前的研究結果顯示,Memcached存在線程的局限,在超過4到6個線程時性能就達到了極限。
這是那些需要向上擴展他們工作負載的企業用戶不得不面對的問題,因為這種局限意味著Memcached無法利用功能強大的多核處理器。要擴展應用軟件就必須在多個服務器上運行,因為單純的在上面集成更多的核心是無濟于事的--因為線程受限。當然這種問題不僅涉及到Memcached,對于任何線程受限的應用軟件都是如此。這是個令AMD特別頭疼的問題,因為他們業務就是圍繞推出功能越來越強大的多核處理器來展開的。這也是服務器虛擬化登上歷史舞臺的原因。
為了解決這個問題,AMD公司使用配置AMD皓龍6100多核處理器和在紅帽Linux6.1操作系統上托管的VMwareESX多個虛擬機以及Memcached的服務器進行了實驗。Lewis表示平均延遲和系統利用率的平衡吞吐量不會消耗過度的服務器主機資源就能實現這種配置下更好的性能。
結論是什么呢?與在非虛擬化的服務器上運行Memcached相比,在服務器的12個虛擬機上運行Memcached,AMD能夠獲得生產能力三倍的提升。“這聽起來有些荒謬,但是這顯示出任何應用軟件都存在線程的局限,虛擬化能幫助用戶解決這個瓶頸。基本上說,我們發現虛擬化技術所帶來的性能回報超過了虛擬化的管理費用,因此你能獲得更高的系統產出。這是虛擬化潛在的優勢所在”。
另外,AMD公司發現Memcached的產出可以根據使用的虛擬機數量線性擴展(按照你所期望的),這說明像Memcached這樣存在線程局限的應用軟件可以在虛擬機環境中通過功能更加強大的硬件來實現有效的擴展。AMD是一家硬件制造商,毫無疑問會對這個結論非常的滿意。