《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > Openstack云環(huán)境中KVM虛擬機(jī)性能分析
Openstack云環(huán)境中KVM虛擬機(jī)性能分析
來(lái)源:微型機(jī)與應(yīng)用2013年第23期
湯 儒,李秦偉
貴州大學(xué) 計(jì)算機(jī)科學(xué)與信息學(xué)院,貴州 貴陽(yáng) 550025
摘要: 在openstack云環(huán)境下通過(guò)對(duì)網(wǎng)卡I/O、處理器、內(nèi)存和磁盤(pán)I/O幾個(gè)方面進(jìn)行對(duì)比分析,比較了KVM虛擬機(jī)和物理機(jī)的性能差距。最后根據(jù)分析結(jié)果得出了KVM虛擬機(jī)更適合于網(wǎng)絡(luò)I/O、內(nèi)存和處理器密集型任務(wù),而不適合磁盤(pán)I/O密集型任務(wù)的結(jié)論,并發(fā)現(xiàn)隨著虛擬機(jī)數(shù)量的增加網(wǎng)卡I/O和磁盤(pán)I/O的性能呈直線(xiàn)下降。
Abstract:
Key words :

摘  要: 在openstack云環(huán)境下通過(guò)對(duì)網(wǎng)卡I/O、處理器、內(nèi)存和磁盤(pán)I/O幾個(gè)方面進(jìn)行對(duì)比分析,比較了KVM虛擬機(jī)和物理機(jī)的性能差距。最后根據(jù)分析結(jié)果得出了KVM虛擬機(jī)更適合于網(wǎng)絡(luò)I/O、內(nèi)存和處理器密集型任務(wù),而不適合磁盤(pán)I/O密集型任務(wù)的結(jié)論,并發(fā)現(xiàn)隨著虛擬機(jī)數(shù)量的增加網(wǎng)卡I/O和磁盤(pán)I/O的性能呈直線(xiàn)下降。
關(guān)鍵詞: KVM;虛擬機(jī);性能測(cè)試

 隨著云計(jì)算的不斷發(fā)展,各種云計(jì)算管理平臺(tái)也應(yīng)運(yùn)而生,如Eucalyptus、Vmware、Xenserver、Openstack。在各種各樣的云計(jì)算管理平臺(tái)中只有Openstack是完全開(kāi)源的,而開(kāi)源的云計(jì)算管理平臺(tái)則一致被業(yè)界和學(xué)術(shù)界認(rèn)為是未來(lái)云計(jì)算發(fā)展的方向。
 Openstack是美國(guó)國(guó)家航空航天局(NASA)和Rackspace合作研發(fā)的一個(gè)云平臺(tái)管理的項(xiàng)目,它主要由3個(gè)部分組成:nova(虛擬服務(wù)器部署和業(yè)務(wù)計(jì)算)模塊、swift(分布式云存儲(chǔ))模塊、glance(虛擬機(jī)磁盤(pán)映像存儲(chǔ))模塊。除了有Rackspace和NASA的大力支持外,后面還有包括Dell、Citrix、Cisco等公司的貢獻(xiàn)和支持,發(fā)展速度非常快。
1 KVM技術(shù)
 KVM(Kernel-based Virtual Machine)是由以色列的一個(gè)開(kāi)源組織開(kāi)發(fā)的基于Linux內(nèi)核的虛擬機(jī),于2008年被紅帽收購(gòu)。KVM由兩部分組成:(1)內(nèi)核中管理虛擬化硬件的設(shè)備驅(qū)動(dòng),通過(guò)字符設(shè)備/dev/km實(shí)現(xiàn);(2)QEMU,用來(lái)模擬用戶(hù)的PC機(jī)。KVM與其他虛擬技術(shù)不同的是KVM是Linux內(nèi)核的一部分,直接運(yùn)行于硬件之上,虛擬機(jī)作為一個(gè)正常的Linux進(jìn)程而實(shí)現(xiàn),由標(biāo)準(zhǔn)Linux調(diào)度程序調(diào)度,能受益于Linux內(nèi)核的所有特征,它能夠直接與硬件交互,不需要修改虛擬化操作系統(tǒng),相比于XEN等其他虛擬技術(shù)KVM更加輕量級(jí)。KVM虛擬機(jī)體系結(jié)構(gòu)如圖1所示。

2 虛擬機(jī)性能評(píng)測(cè)方法
 如今為止還沒(méi)有一套完整成熟的能為學(xué)術(shù)界和業(yè)界普遍接受和認(rèn)可的虛擬機(jī)性能評(píng)測(cè)與分析方案。VMware公司作為虛擬化市場(chǎng)份額的最大占有者,并且是虛擬化性能評(píng)測(cè)委員會(huì)的成員,其推出了一款程序測(cè)試方案——VMmark。VMmark主要是對(duì)微軟的WindowsServer進(jìn)行的虛擬化性能測(cè)試與分析。但是對(duì)于普通用戶(hù)來(lái)說(shuō)其并不關(guān)心一臺(tái)虛擬服務(wù)器性能的高低,他們關(guān)心的更多的是虛擬機(jī)和物理機(jī)相比其性能如何,相比于物理機(jī)虛擬機(jī)要損失多少性能,具體到細(xì)節(jié)方面就是處理器、內(nèi)存、網(wǎng)卡I/O和磁盤(pán)I/O的性能與物理機(jī)相比其結(jié)果如何。因此本實(shí)驗(yàn)在性能測(cè)試方面還是采用傳統(tǒng)的性能測(cè)試工具和方法。
 在本實(shí)驗(yàn)中,采用ubuntu-12.04.2-server-amd64.iso作為基準(zhǔn)操作系統(tǒng)。為保證測(cè)試數(shù)據(jù)的準(zhǔn)確性,測(cè)試均采用系統(tǒng)自帶指令和程序進(jìn)行測(cè)試。本實(shí)驗(yàn)中所測(cè)試的性能對(duì)象和性能標(biāo)準(zhǔn)如表1所示。

 本實(shí)驗(yàn)所采用的服務(wù)器的配置如下:2顆Intel(R)Xeon(R)CPU E5520(2.27 GHz,6核),8 GB內(nèi)存,167 GB磁盤(pán),兩塊以太網(wǎng)卡,其中一塊網(wǎng)卡通過(guò)路由器連接到局域網(wǎng)中。實(shí)驗(yàn)開(kāi)始之前先用ubuntu-12.04.2-server-amd64.iso做為底層操作系統(tǒng),使用openstack搭建起一個(gè)私有云環(huán)境,然后使用KVM虛擬技術(shù)創(chuàng)建虛擬機(jī),虛擬機(jī)的配置為2個(gè)CPU、2 GB內(nèi)存、20 GB硬盤(pán)和一塊網(wǎng)卡,同時(shí)為其分配一個(gè)IP地址使其也連接到局域網(wǎng)內(nèi)。
 在測(cè)試過(guò)程中,每一項(xiàng)測(cè)試都進(jìn)行3次,最后進(jìn)行統(tǒng)計(jì)匯總,然后以物理機(jī)的測(cè)試結(jié)果為基準(zhǔn),將虛擬機(jī)的測(cè)試結(jié)果與物理機(jī)進(jìn)行對(duì)比和分析。每進(jìn)行一項(xiàng)測(cè)試之后都會(huì)將本次測(cè)試所產(chǎn)生的所有內(nèi)容刪去并重啟計(jì)算機(jī)從而保證本次測(cè)試不會(huì)對(duì)下一次測(cè)試結(jié)果產(chǎn)生影響。
3 測(cè)試結(jié)果
 首先進(jìn)行測(cè)試的是網(wǎng)卡I/O性能,在本次測(cè)試中虛擬機(jī)和物理機(jī)都通過(guò)一臺(tái)路由器連接到同一個(gè)局域網(wǎng)內(nèi),然后從局域網(wǎng)內(nèi)同一臺(tái)ftp服務(wù)器下載一個(gè)3.13 GB大小的ISO鏡像文件。為了保證測(cè)試的準(zhǔn)確性,路由器沒(méi)有連接外網(wǎng),每次下載統(tǒng)計(jì)完成之后都要?jiǎng)h除下載內(nèi)容并重啟機(jī)器。這個(gè)測(cè)試中主要使用wget指令,wget是一個(gè)從網(wǎng)絡(luò)上自動(dòng)下載文件的工具,其主要測(cè)試的是虛擬機(jī)的網(wǎng)卡I/O性能。經(jīng)過(guò)對(duì)測(cè)試結(jié)果標(biāo)準(zhǔn)化處理之后圖2中顯示了KVM虛擬機(jī)和物理機(jī)的網(wǎng)絡(luò)I/O對(duì)比結(jié)果。
 從圖2中可以看出KVM虛擬機(jī)的網(wǎng)絡(luò)I/O性能與物理機(jī)相比是非常接近的。

 從圖3可以看出在壓縮時(shí)間方面KVM虛擬機(jī)的壓縮時(shí)間相比于物理機(jī)有一定的損失,損失比大概在13%左右。
 然后進(jìn)行的是解壓測(cè)試,同壓縮測(cè)試相同的是解壓測(cè)試也采用的是bzip2指令,但是不同的是壓縮測(cè)試是一個(gè)cpu密集型任務(wù),主要體現(xiàn)的是機(jī)器的cpu性能,而解壓測(cè)試則主要體現(xiàn)的是內(nèi)存的性能。其測(cè)試對(duì)象是剛進(jìn)行壓縮測(cè)試時(shí)所產(chǎn)生的壓縮文件,其大小為3.0 G。其測(cè)試對(duì)比結(jié)果如圖4所示。
從圖4可以看出在解壓時(shí)間方面KVM虛擬機(jī)相對(duì)于物理機(jī)的損失大于其壓縮時(shí)間的損失,性能損失率大概在18%左右,但是也在可接受范圍之內(nèi)。

 在最后進(jìn)行的是磁盤(pán)I/O性能的測(cè)試,本次測(cè)試中采用的是cp指令,每次執(zhí)行完之后都會(huì)刪除掉復(fù)制過(guò)去的文件只保留源文件然后對(duì)機(jī)器進(jìn)行重啟,cp操作對(duì)cpu和內(nèi)存沒(méi)有太大壓力,其主要測(cè)試集中在硬盤(pán)的I/O性能。在本次測(cè)試中把一個(gè)3.2 G的鏡像文件拷貝到同一個(gè)ext4分區(qū)下。其測(cè)試對(duì)比結(jié)果如圖5所示。
 從圖5可以看出KVM虛擬機(jī)的磁盤(pán)傳輸性能還沒(méi)有達(dá)到物理機(jī)磁盤(pán)傳輸性能的40%,損失比非常大,其效果是非常不理想的。

 在單臺(tái)虛擬機(jī)性能測(cè)試完成之后,最后測(cè)試了網(wǎng)卡I/O和硬盤(pán)I/O性能和虛擬機(jī)數(shù)量的關(guān)系,本次測(cè)試中分別在openstack云環(huán)境下創(chuàng)建了1臺(tái)、2臺(tái)、3臺(tái)虛擬機(jī),測(cè)試過(guò)程中每個(gè)結(jié)果測(cè)試3次,每次測(cè)試完成之后重啟虛擬機(jī),并最終以1臺(tái)虛擬機(jī)的性能為基準(zhǔn),將兩臺(tái)和3臺(tái)虛擬機(jī)的性能與其進(jìn)行對(duì)比分析。其測(cè)試對(duì)比結(jié)果圖如圖6、圖7所示。

 

 

 分析圖6可以看出,網(wǎng)卡I/O性能與虛擬機(jī)的數(shù)量關(guān)系較大,隨著虛擬機(jī)數(shù)量的增加,網(wǎng)卡I/O的性能呈大幅下降的趨勢(shì),可以說(shuō)虛擬機(jī)數(shù)量的增加對(duì)網(wǎng)卡I/O性能的影響是比較大的。從圖7看到,當(dāng)虛擬機(jī)數(shù)量增加到2臺(tái)的時(shí)候硬盤(pán)I/O的性能只有很小的降低,可以說(shuō)虛擬機(jī)硬盤(pán)I/O的性能還是保持在令人滿(mǎn)意的狀態(tài),但是當(dāng)虛擬機(jī)數(shù)量增加到3的時(shí)候,硬盤(pán)I/O的性能大幅下降了一半以上。性能只有2臺(tái)時(shí)的一半不到。由此可以看出,隨著虛擬機(jī)數(shù)量的增加,對(duì)網(wǎng)卡I/O和硬盤(pán)I/O的性能影響是比較大的。在openstack云環(huán)境中當(dāng)增加虛擬機(jī)的數(shù)量時(shí),需要著重考慮網(wǎng)卡I/O和硬盤(pán)I/O的性能。
 本文主要評(píng)測(cè)了在openstack云環(huán)境下KVM虛擬機(jī)的基本性能,并使用了各種測(cè)試方法來(lái)比較了KVM虛擬機(jī)與物理機(jī)性能的差別。
 在實(shí)驗(yàn)中可以看出,在網(wǎng)卡I/O性能方面KVM虛擬機(jī)與物理機(jī)的性能相比是不相上下的,甚至是完全相同的。采用bzip2所進(jìn)行的壓縮測(cè)試主要體現(xiàn)的是處理器的處理能力,可以看出相比于物理機(jī)KVM的處理器性能損失是比較少的,在可接受范圍之內(nèi)。解壓測(cè)試則主要體現(xiàn)的是內(nèi)存的性能,其性能損失比雖然比處理器要高一些但是也都是在可接受范圍以?xún)?nèi)。唯一性能損失比較大的就是磁盤(pán)I/O性能,從測(cè)試結(jié)果可以看出,其性能還不到物理機(jī)的40%。
 最后測(cè)試了網(wǎng)卡I/O、硬盤(pán)I/O性能和虛擬機(jī)數(shù)量的關(guān)系,發(fā)現(xiàn)隨著虛擬機(jī)數(shù)量的增加,網(wǎng)卡I/O和硬盤(pán)I/O的性能都呈現(xiàn)大幅度下降的趨勢(shì)。
 從以上分析可以得出本文的結(jié)論,當(dāng)使用openstack搭建起私有云環(huán)境時(shí),對(duì)于處理器和內(nèi)存尤其是網(wǎng)卡I/O性能要求比較高的業(yè)務(wù),KVM虛擬技術(shù)是一個(gè)很不錯(cuò)的選擇方案,但是當(dāng)磁盤(pán)I/O密集型應(yīng)用為主要業(yè)務(wù)時(shí),KVM虛擬化解決方案就并不是一個(gè)很好的選擇了,并且在增加虛擬機(jī)數(shù)量的時(shí)候需要著重考慮網(wǎng)卡I/O和硬盤(pán)I/O性能的下降,否則虛擬機(jī)的性能將不盡如人意。
參考文獻(xiàn)
[1] 于波.Linux KVM的虛擬化性能[J].軟件世界,2007,6(5):49-50.
[2] 崔澤永,趙會(huì)群.基于KVM的虛擬化研究及應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(6):108-111.
[3] 蘭雨晴,宋瀟豫,馬立克,等.系統(tǒng)虛擬化技術(shù)性能評(píng)測(cè)[J].電信科學(xué),2010(8):19-24.
[4] 余平.QEMU-KVM實(shí)現(xiàn)虛擬機(jī)動(dòng)態(tài)負(fù)載均衡[J].技術(shù)應(yīng)用,2012(6):59-62.
[5] 李亞奇.虛擬化云計(jì)算中資源管理的研究[J].電腦知識(shí)與技術(shù),2013(6):2916-2917.
[6] 孫琳程.虛擬機(jī)KVM與XEN的性能分析[J].電腦知識(shí)與技術(shù),2013(4):2364-2365.
[7] MAKHIJA. VMMARK: a scalable benchmark for virtualized systems[R]. Tech report, Vmware, Inc, 2006.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。