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