原文地址:http://my.oschina.net/guol/blog/79023
初始測試xen和kvm兩款虛擬機軟件的穩定性及性能。
爲了測試虛擬機運行時在宿主機上的瓶頸,需要同時在同一臺宿主機上面根據業務需求啓動儘量多的虛擬機,以便觀察資源的分配調度情況,根據我們宿主機的情況,每臺宿主機適合分配兩臺2CPU+4G MEM的虛擬機。所有類型的虛擬機均未做優化,xen和kvm均採用全虛擬化。
測試環境
XEN環境
宿主機參數
機器型號:PowerEdge R710
CPU型號:Intel(R) Xeon(R) CPU E5504 @ 2.00GHz * 4
MEM大小:4096 MB * 4
RAID模式:RAID5+hot
DISK大小:60G / + LVM 816.75 GB
操作系統:Debian6 最小化安裝+必要的虛擬化環境
內核版本:XEN-4.0 2.6.32-5-xen-amd64 x86_64
文件系統類型:ext3
虛擬機環境
虛擬機名稱:xen6
CPU型號:Intel(R) Xeon(R) CPU E5504 @ 2.00GHz * 2
MEM大小:4113384KB (4016MB)
DISK大小:30GB / + 2GB swap + 10GB home
文件系統類型:ext4
內核版本:2.6.32-5-amd64 x86_64
信息如下圖:
虛擬機名稱:xen7
CPU型號:Intel(R) Xeon(R) CPU E5504 @ 2.00GHz * 2
MEM大小:4113384KB (4016MB)
DISK大小:30GB / + 2GB swap + 10GB home
文件系統類型:ext4
內核版本:2.6.32-5-amd64 x86_64
信息如下圖:
KVM環境
宿主機參數
機器型號:PowerEdge R710
CPU型號:Intel(R) Xeon(R) CPU E5504 @ 2.00GHz * 4
MEM大小:4096 MB * 4
RAID模式:RAID5
DISK大小:60G / + LVM 952.875 GB
操作系統:Debian6 最小化安裝+(kvm內嵌內核不需要多餘虛擬化環境)
內核版本:2.6.32-5-amd64 x86_64
文件系統類型:ext3
虛擬機環境
虛擬機名稱:kvm1
CPU型號:QEMU Virtual CPU version 0.12.5 * 2 ( Bochs )
MEM大小:4111616KB (4015MB)
DISK大小:30GB / + 2GB swap + 20GB home
文件系統類型:ext4
內核版本:2.6.32-5-amd64 x86_64
信息如下圖:
虛擬機名稱:kvm2
CPU型號:QEMU Virtual CPU version 0.12.5 * 2 ( Bochs )
MEM大小:4111616KB (4015MB)
DISK大小:30GB / + 2GB swap + 20GB home
文件系統類型:ext4
內核版本:2.6.32-5-amd64 x86_64
信息如下圖:
測試項目
穩定性測試
磁盤IO測試 IOzone
MEM測試 Memtester
Cpu測試 Cpuburn
性能測試
綜合測試 Unixbench
注:所有的測試都是在宿主機上同時開啓兩臺虛擬機並同時在虛擬機上進行測試,同時也可以測試虛擬機管理程序是否可以很好的均衡各個虛擬機的在宿主機上造成負載。雖然每臺虛擬機都是雙vcpu,但是在物理cpu之間的調度是動態的,是隨機的分佈在物理cpu的四個核上,爲了避免出現cpu資源爭用的情況,故所有的虛擬機vcpu和物理機的cpu核都進行的綁定,每臺虛擬機綁定兩個物理cpu核。所有的測試都是在vcpu綁定的情況下進行的。
kvm虛擬機的vcpu綁定情況如下:
xen虛擬機的vcpu綁定情況如下:
KVM性能測試
CPU穩定性測試
爲了測試虛擬機cpu的穩定性,在虛擬機上使用./cpuburn-in 300進行測試,表示連續運行5個小時,由於虛擬機是雙vcpu的所以需要啓動兩個進程。
如下圖kvm宿主機的cpu使用情況,可以看到四個核都在100%左右,而且有兩個kvm進程,表示啓動了兩臺kvm虛擬機。
下圖是在兩臺kvm虛擬機上的cpu使用情況,可以看到在兩臺虛擬機上cpu都在99%左右的使用率。
測試運行300分鐘後,結果如下:
可以看到兩臺機器在300分鐘內運行了很多次測試,即使cpu負載一直持續在100%,連續5個小時的測試都沒有錯誤,cpu的穩定性可以得到保障。
MEM穩定性測試
每臺虛擬機分配的爲4G內存,因此我們選擇3G內存用來測試,memtester 3G。
kvm1 kvm2 在經過近5輪測試後,均沒發現錯誤
磁盤IO測試
Reader Report
Re-reader Report
Writer Report
Re-writer Report
綜合測試
由於虛擬機都是雙核的,所以在使用unixbench時需要指定兩輪測試,第一輪是所有測試使用一個副本測試,第二輪測試採用兩個副本並行測試,命令如下:./Run -q -c 1 -c 2
Kvm1測試結果如下圖:
Kvm2測試結果如下圖:
XEN性能測試
CPU穩定性測試
爲了測試虛擬機cpu的穩定性,在虛擬機上使用./cpuburn-in 300進行測試,表示連續運行5個小時,由於虛擬機是雙vcpu的所以需要啓動兩個進程。
如下圖xen宿主機的cpu使用情況,使用xm top命令查看,由於top中顯示的是以虛擬機爲單位,並不是單個cpu的情況,可以看到兩臺xen虛擬機的cpu利用率都在199%左右。
下圖是在兩臺xen虛擬機上的cpu使用情況,可以看到在兩臺虛擬機上cpu都在99%左右的使用率。
測試運行300分鐘後,結果如下:
可以看到兩臺機器在300分鐘內運行了很多次測試,即使cpu負載一直持續在100%,連續5個小時的測試都沒有錯誤,cpu的穩定性可以得到保障。
MEM穩定性測試
xen6 xen7 在經過近5論測試後,沒有發現錯誤。
磁盤IO測試
Reader Report
Re-reader Report
Writer Report
Re-writer Report
綜合測試
由於虛擬機都是雙核的,所以在使用unixbench時需要指定兩輪測試,第一輪是所有測試使用一個副本測試,第二輪測試採用兩個副本並行測試,命令如下:./Run -q -c 1 -c 2
Xen6測試結果如下圖:
Xen7測試結果如下圖:
綜合對比
前面給出了xen和kvm測試的數據,主要是瞭解各自的性能以及穩定性,下來對這些數據做一下比較,看看兩者之間有哪些差距。
Cpu測試對比
雖然kev和xen虛擬機都是雙vcpu設置,每臺虛擬機的cpu利用率都接近100%,也都運行5個小時,但是會發現在5個小時內每臺機器測試過的次數是不一樣。
可以看出在300分鐘內xen的cpu測試次數比kvm多一點,運算能力會強一些,但是差距不大,可以忽略。
Mem測試對比
IO測試對比
Reader Report
Re-reader Report
Writer Report
Re-writer Report
綜合測試對比
在經過綜合測試後,不論是單個parallel還是兩個parallel,xen的跑分測試都比kvm要好。
各位覺得哪裏測試手段有問題可以提示一下,本人非專業選手啊。