2015-02-07 104 views
0

我使用KVM guest虛擬機設置了一個系統,以測試客戶機性能與主機的對比情況。 該系統硬件規格情況如下:KVM guest虛擬機中更高的IO性能

  • HDD:ATA SAMSUNG HD502HI
  • CPU:英特爾(R)核心(TM)13 CPU
  • 內存大小:8GB

我設置6GB ram,4個虛擬cpu,以及具有原始格式,virtio接口,寫入緩存模式和來賓的本機io模式的磁盤映像文件。

操作系統是主機和客戶機上的Ubuntu-14.04 64位(內核:3.13.0-45-generic)。

然後,我開始使用fio基準測試工具對主機和來賓的磁盤io進行基準測試。你可以看到下面的表中的結果(在FIO命令的選項大小=512米和無效被列入= 1):

帶寬

|  | Random Read | Random write|Seqential Read |Seqential write| 
| Host | 465347B/s | 1199.7MB/s | 107878KB/s | 1434.2MB/s | 
| Guest | 46389KB/s | 989223KB/s | 1418.3MB/s | 1096.4MB/s | 

IOPS

|  | Random Read | Random write|Seqential Read |Seqential write| 
| Host | 113   | 306960  | 26969  | 367148  | 
| Guest | 11597  | 247305  | 363080  | 280668  | 

我還在主機和來賓上做了一個簡單的副本(文件大小= 564M),結果幾乎相同(主機時間:6.282秒,客人時間:6.352秒)。

我運行了另一個基準測試,其中從Mysql數據庫中讀取了3,000,000條記錄並將其索引到Elasticsearch中。結果是不合理的,因爲客人的工作速度要快得多(主持人時間:5分鐘6.827秒,來賓時間:2分鐘19.469秒)。

我真的很困惑! 爲什麼客人在某些測試中的IO性能更好?

回答

0

有一對夫婦的涌現在腦海的可能原因:

  1. 如果你使用KVM回寫緩存,你會看到有時比主機上的來賓更好的I/O性能。這種提升與您在硬件RAID控制器上安裝電池支持的寫入緩存時看到的I/O提升類似。寫回緩存的缺點是您可能會遇到電源故障時磁盤損壞的風險。
  2. 基準依賴精確的時鐘。當你在一個客戶中運行一個基準測試時,你對VM時鐘的可靠性抱有很大的信心。就你而言,你看到了幾分鐘的差異,這讓我覺得這可能不是發生了什麼,但我提到它,因爲它是在對VM進行基準測試時需要注意的。
相關問題