ESXi 虛擬機性能情況簡單驗證


1.虛擬化的CPU超售問題。

經過查找資料, 發現 ESXi 5.5 的版本 一個 物理CPU得Core 可以虛擬出 25個vCPU, 升級到ESXi6.0 之后可以虛擬化32個vCPU。

所以虛擬化的超售特別嚴重, 會降低性能。 

理論上最極端的情況 只有普通CPU的 十分之一左右的性能。 

比如功能測試這邊的一個 2路10核 20個CPU的服務器  一共虛擬化出來 140個vCPU

理論上在大家都爭用CPU的情況下, 只能獲取 CPU七分之一左右的性能。 

 

2. CPU的性能的影響因素。

CPU的性能不僅僅涉及CPU的主頻和型號, 很大的方面涉及到 IPC 的概念 需要考慮如下內容

寄存器的多少 緩存的大小 緩存的實現機制。

CPU 多發射的個數  流水線長度 亂序執行的能力 預測分析算法的精確度。

CPU 等效的IPC數值。 

之前發現一個網站里面能夠簡單獲取一些CPU的分值 也可以通過CPU-Z 簡單進行驗證, 但是一般沒有實際意義。 

型號                  得分           價格(美元)

4214@2.2GHZ         16,140           $768
5218@2.4GHZ         22,117           $1309
8280@2.7GHZ         37,575           $9949

我這邊發現同樣負載情況下 4214 上面啟動一個gscloud 優化前 需要使用 20min 以上

然后使用 5218 的CPU 大概可以在 15min 左右啟動起來 與得分的分值基本上符合。 

3. 關於raid卡緩存與虛擬機快照的影響

見到那發現在raid看開緩存的情況下 性能非常爆表

使用 CrystalDiskmark 時  僅使用1G文件進行驗證, 如果是 1G的數據數據文件進行驗證。 性能為:

順序讀寫 5G多的寫入  1.5G左右的讀取。

已經接近PCI-E 3.0 X8的性能極限了 感覺。 

如果是 使用很長時間, 並且有十幾個快照的環境

順序讀寫  只有 200m的寫入, 450m的的讀取

說明開着緩存機器的性能非常好, 但是快照的存在以及長時間的運行會嚴重降低虛擬機的性能。 

但是需要注意的一點是 這個數據是周天我進行驗證的 當時幾乎沒有人使用. 

如果是周一大家都在用的環境效果如下:

說明一點 我的機器都是thin provision 設置的 可能IO性能有一定影響. 

新機器沒快照

 

舊就機器有十幾個快照

 

 

如果使用16G文件的讀寫, 可以直接看圖了。

沒有快照 並且是新創建的機器:

 

 

有快照 並且是運行兩三年的機器

 

 

說明 快照的存在會嚴重降低性能。 

當然也有存在不太准確的情況。 

 4. 更新補丁時垃圾文件和垃圾表的影響

更新GS7的補丁時主要是兩部分的性能,

一部分是應用端:應用文件備份,以及覆蓋和下載部署

二部分是數據庫端:sql的更新以及元數據報運行時定制的處理。

這兩快的提高速度重要有兩個方面。

1. 定期進行磁盤整理, 刪除無意義的patchbak內的古老文件夾

注意應用端的文件讀寫性能。因為patchbak 內的文件經常是很離散的文件。可能有幾百萬個文件。會造成讀寫和更新非常緩慢, 建議定期刪除。

2. 對數據庫定期進行統計信息的更新。

以及定期清理 gspmetaversionhistory 的表內容。 元數據以及運行時定制相關的內容更新之前會往這個表里面插入備份數據, 這個表會變得異常得大 還會出現插入性能降低得情況,建議定期處理。 

處理完這兩個地方之后 啟動速度 能夠提速很多。 

 5. 關於上下文切換 Content Switch 以及時間片 time slice的簡單理解.

現代CPU在使用一個CPU core的時候 就可以實現 都用戶 多任務的處理, 根本原因是 時分復用, 一秒鍾的時間內, 可以分配多個進程進行使用, 人類觀感就是可以並行處理了.

但是這樣的話 是存在兩個問題的. 

1. 來回切換還是有一定的延遲, 有的時候會出現卡頓, 尤其是一個進程如果長時間不用被swap到磁盤上面去之后.

2. 進行切換需要保存是一個進程的現場,將所有的寄存器信息留存, 然后再flush 另一個進程的所有的寄存器相關的信息, 包括不限於 PC以及TLB等. 

所以如果切換的太慢的話, 就會明顯的卡頓, 切換的太快的話 CS 的損耗太大會到無法容忍的程度

一般情況下 資料里面說 Linux的默認時間片大概是 20ms ,儀表內可以有 50 次進程切換 (如果單核的話)

多核的情況下會遞增, 這里面還有一個nice的概念.  從 -19到20 時間片的大小可以從 5ms 遞增到 據說 800ms 

這樣的話 專用服務器的性能就會遠遠好於混合的服務器. 

與之對應的 ESXi 也是使用時間片進行切分 CPU的, 但是這一塊不清楚. 如果一個虛擬機沒有強負載的情況下 他的CPU 時間片 是不是還是按照他的設置給出 ,如果是的話, 你們重負載的機器的性能就會有降頻了

但是根據中病毒的反饋, 發現 高負載的機器能夠吃完 vCPU對應的所有的物理CPU的性能. 

6. 關於高IO型和高CPU型性能的理解.

這個主要是有SYS和IDLE的CPU 以及 user和 sys 的用戶控件和內核空間的區分.  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM