初始測試xen和kvm兩款虛擬機軟件的穩定性及性能。性能
爲了測試虛擬機運行時在宿主機上的瓶頸,須要同時在同一臺宿主機上面根據業務需求啓動儘可能多的虛擬機,以便觀察資源的分配調度狀況,根據咱們宿主機的狀況,每臺宿主機適合分配兩臺2CPU+4G MEM的虛擬機。全部類型的虛擬機均未作優化,xen和kvm均採用全虛擬化。測試
測試環境優化
XEN環境操作系統
宿主機參數unix
機器型號: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 it
操做系統: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要好。
各位以爲哪裏測試手段有問題能夠提示一下,本人非專業選手啊。