1. 程式人生 > >關於效能測試中使用物理機和虛擬機器的區別

關於效能測試中使用物理機和虛擬機器的區別

需要說明的情況,以下對比表格主要針對效能測試

  舉例的物理機和虛擬機器的數值

  CPU  2Ghz
  記憶體 4GB
  網絡卡 100M
  硬碟 200G

  虛擬機器所在的物理機器稱之為“宿主機”,單獨的物理機和虛擬機器是在數值等同的情況下進行以下比對:

圖片點選可在新視窗開啟檢視

  其他:

  VM實現:

  VMware 虛擬化的工作原理是,直接在計算機硬體或主機作業系統上面插入一個精簡的軟體層,用軟體模擬計算機軟硬體環境,佔用物理機本身的資源,將這部分資源“硬體化”--劃分了一個特定的可以格式化的分割槽,在其中包含cpu的應用資源、記憶體、硬碟、網路資源等等,建立完整的執行環境。

  1、虛擬機器的CPU實現:

  由於虛擬機器是基於一個軟體層實現的,CPU的處理能力實際上是物理機程序排程虛擬機器元件來實現的,虛擬機器的CPU取決於宿主機的CPU分配。

  2、虛擬機器的記憶體分配:

  無論怎樣分配,推薦的記憶體的大小值不能超過所在的物理宿主機的記憶體,而且物理機的記憶體動態調整會直接影響到虛擬機器的記憶體使用率;如果記憶體值大於宿主機的實體記憶體值,最終還是會導致宿主機本身在記憶體和硬碟間排程。

  同時,虛擬機器的記憶體實際使用率低於虛擬機器的記憶體分配值,仍有一部分用於虛擬機器的運作-以上兩個原因決定了虛擬機器的記憶體值是一個時刻變動的動態值,並且在物理機記憶體惡化的情況下,表現更糟糕。

  3,虛擬機器的網路使用:

  1、橋接Bridge

  bridge方式裡面,就是利用網絡卡的這種功能為每一個VM分配一個外網的IP;每個VM在網路上的地位與宿主機是對等的。可認為每一個VM都是一個網路上的物理機。

圖片點選可在新視窗開啟檢視

2、Host only

  第3種的NAT方式實際上是在這種方式上加了一個功能而已(增加一項NAT服務)。host only 用的是vmnet1,它包括兩個元件,一個虛擬的網絡卡(Host Virtual Adapter),一個網擬的交換機(Virtual Switch),虛擬的網絡卡自動連到這個交換機上。Host Virtual Adapter和各個虛擬機器的網絡卡一起已經組成了一個區域網,而且Host Virtual Adapter所在的宿主機還有一個網絡卡(物理網絡卡)連線著外網—不過這個宿主機上的兩個網絡卡間不能通訊。虛擬網絡卡不能和物理網絡卡通訊,導致了VM不能訪問外網,但通過Host Virtual Adapter,VM們可以訪問host,所以叫做 host only。

  另外,讓VM們能夠訪問外網的方法:

  把host 配置成一個簡單的NAT伺服器:在Windows XP 下使用的方法:開啟網路連線,右擊物理網絡卡的連線,屬性,高階,找到 Internet Connection Sharing(ICS),勾選,VMware預設裝了兩個網絡卡:vmnet1和。確定vmnet1共享物理網絡卡的IP,XP會彈出一個對話方塊,提示再用共享檔案--使用ICS後,不能在局域網裡共享檔案---系統會將vmnet1上的 Host Virtual Adapter的IP設為 192.168.0.1,未提供DHCP,將VM的IP靜態地設為192.168.0.x,閘道器設成Host Virtual Adapter(192.168.0.1),VM們的DNS也要設定成靜態的,最好設定成宿主機的DNS。

圖片點選可在新視窗開啟檢視

  3、NAT

  增加一項NAT服務,而這個NAT服務並不連線 Host Virtual Adapter與物理網絡卡, 它相當於又虛擬出來一個網絡卡--預設情況下,這個未命名的網絡卡插到mnet8的交換機的第二個插槽上。VMware虛擬機器配置的網路號192.168.221.0,那麼這個無名網絡卡就是192.168.221.2,而Host Virtual Adapter是192.168.221.1,你的VM們的網路連線的配置要設成自動獲取IP和DNS,這是因為這個NAT服務還提供了DHCP服務,DHCP服務除了給VM們提供IP外,還可以給它們提供DNS伺服器的IP。NAT方式中,Host Virtual Adapter並沒有提供特殊的作用,Host Virtual Adapter在各種配置中都起了一個相同的作用,就是與主機進行通訊。

圖片點選可在新視窗開啟檢視

  4、虛擬機器應用程式的執行:

  這個涉及到虛擬機器的硬碟、記憶體和CPU,由於虛擬機器是一個“特殊”的應用程式,本身就執行在物理機的抽象層上,除硬碟的訪問方式/速度完全一致外,VM訪問CPU和記憶體、網路這幾大塊,都是離不開宿主機的分配和影響的,特別是在效能測試中,多個因素的綜合影響,會導致資源的爭用,而無法具體分析在哪一個環節出現了瓶頸:如訪問資料庫或是中介軟體,只知道反應緩慢,請求超時,而無法確實是因為CPU的處理速度跟不上還是因為網路擁塞導致,抑或是記憶體緊張而排程失敗,在VM中宿主機的動態對VM這組程序的調整,更是無法掌控和預測的。

  由此,可以看到,確保效能測試能順利有效的進行,選擇物理機的實體測試,可以宿主機對其上執行VM的干擾及影響,提升效能測試的有效性。

2、Host only

  第3種的NAT方式實際上是在這種方式上加了一個功能而已(增加一項NAT服務)。host only 用的是vmnet1,它包括兩個元件,一個虛擬的網絡卡(Host Virtual Adapter),一個網擬的交換機(Virtual Switch),虛擬的網絡卡自動連到這個交換機上。Host Virtual Adapter和各個虛擬機器的網絡卡一起已經組成了一個區域網,而且Host Virtual Adapter所在的宿主機還有一個網絡卡(物理網絡卡)連線著外網—不過這個宿主機上的兩個網絡卡間不能通訊。虛擬網絡卡不能和物理網絡卡通訊,導致了VM不能訪問外網,但通過Host Virtual Adapter,VM們可以訪問host,所以叫做 host only。

  另外,讓VM們能夠訪問外網的方法:

  把host 配置成一個簡單的NAT伺服器:在Windows XP 下使用的方法:開啟網路連線,右擊物理網絡卡的連線,屬性,高階,找到 Internet Connection Sharing(ICS),勾選,VMware預設裝了兩個網絡卡:vmnet1和。確定vmnet1共享物理網絡卡的IP,XP會彈出一個對話方塊,提示再用共享檔案--使用ICS後,不能在局域網裡共享檔案---系統會將vmnet1上的 Host Virtual Adapter的IP設為 192.168.0.1,未提供DHCP,將VM的IP靜態地設為192.168.0.x,閘道器設成Host Virtual Adapter(192.168.0.1),VM們的DNS也要設定成靜態的,最好設定成宿主機的DNS。

圖片點選可在新視窗開啟檢視

  3、NAT

  增加一項NAT服務,而這個NAT服務並不連線 Host Virtual Adapter與物理網絡卡, 它相當於又虛擬出來一個網絡卡--預設情況下,這個未命名的網絡卡插到mnet8的交換機的第二個插槽上。VMware虛擬機器配置的網路號192.168.221.0,那麼這個無名網絡卡就是192.168.221.2,而Host Virtual Adapter是192.168.221.1,你的VM們的網路連線的配置要設成自動獲取IP和DNS,這是因為這個NAT服務還提供了DHCP服務,DHCP服務除了給VM們提供IP外,還可以給它們提供DNS伺服器的IP。NAT方式中,Host Virtual Adapter並沒有提供特殊的作用,Host Virtual Adapter在各種配置中都起了一個相同的作用,就是與主機進行通訊。

圖片點選可在新視窗開啟檢視

  4、虛擬機器應用程式的執行:

  這個涉及到虛擬機器的硬碟、記憶體和CPU,由於虛擬機器是一個“特殊”的應用程式,本身就執行在物理機的抽象層上,除硬碟的訪問方式/速度完全一致外,VM訪問CPU和記憶體、網路這幾大塊,都是離不開宿主機的分配和影響的,特別是在效能測試中,多個因素的綜合影響,會導致資源的爭用,而無法具體分析在哪一個環節出現了瓶頸:如訪問資料庫或是中介軟體,只知道反應緩慢,請求超時,而無法確實是因為CPU的處理速度跟不上還是因為網路擁塞導致,抑或是記憶體緊張而排程失敗,在VM中宿主機的動態對VM這組程序的調整,更是無法掌控和預測的。

  由此,可以看到,確保效能測試能順利有效的進行,選擇物理機的實體測試,可以宿主機對其上執行VM的干擾及影響,提升效能測試的有效性。