雲平臺測試——(1)宿主機性能

出於各類目的,咱們會對雲平臺中的虛擬機進行測試,主要測試CPU、內存、網絡、硬盤的性能。shell

本節簡要總結各類測試場景下的經常使用工具windows

關鍵詞:Super PI、UnixBench、memtester、memtest86+、netperf、fio、iometer、iozone、dd網絡

    1,CPU併發

  早期的虛擬化技術不成熟,這使得虛擬機的cpu在中斷和上下文切換時損耗嚴重,隨着虛擬化技術的發展,這種性能損失已經控制的比較好了,
因此當前測試CPU的主要目的是衡量計算能力。
  主要應用的測試工具備:Super PI 與 UnixBench 
tcp

  (1)Super PI簡介函數

  是一款cpu密集型測試工具,原理是計算圓周率π小數點後n位,統計消耗時間,來衡量CPU的計算能力(主要浮點計算能力)
  (2)UnixBench
  是一款系統層面的基準測試套件,特色是支持多cpu系統的測試,包括「單任務性能測試、多任務性能測試、並行處理能力測試」
  測試的結果不只取決於硬件,還受系統、開發庫、編譯器的影響
  UnixBench的測試項目主要有9項:
    dhrystone,字符串處理測試
    whetstone,浮點運算效率和速度
    excel throughput測試,每秒excel函數的調用次數(exec函數家族的一部分)
    file copy,文件傳輸
    pipe throughput,進程管道寫pipe並讀回來的次數
    pipe-based context switch,管道上下文切換測試,與真實程序相似
    process creation,建立子線程並當即退出
    shell腳本,進程1分鐘內啓動並中止shell腳本的次數
    system call overhead,系統調用消耗,使用getpid,進入離開內核的執行時間
    graphic,2D3D簡單測試
工具


  2,內存
  物理機與虛擬機內存性能差別主要在佔用與釋放,這是由於虛擬機的內存與物理內存之間被映射了2次;
  當前測試內存主要是測試內存是否有錯誤。
  主要2款測試工具:memtester、memtest86+
  (1)memtester
    特色:從系統中測試內存
    測試項目:隨機值、異或、加減乘除等運算,結合內存大小和次數給出結果
  (2)memtest86+
    特色:引導一個小型系統來檢測內存
性能

  3,網絡
  網絡io是虛擬化的難點和熱點,虛擬機也常常遇到網絡性能瓶頸與網絡穩定性的問題
  常見測試用例:
    tcp吞吐
    tcp鏈接數
    tcp單鏈接多交易
    tcp發包率pps
    udp吞吐
    udp單鏈接多交易
    udp發包率pps
    業務模型網絡模擬
  推薦測試工具:netperf
  (1)netperf介紹
測試

      針對tcp或udp傳輸的測試工具,能夠進行不一樣模式網絡性能測試:
    批量數據傳輸模式,bulk data transfer
    請求應答模式,request response
  (2)網絡測試的關鍵指標
    BPS,網絡吞吐量,1分鐘通過網卡的數據流量
    PPS,發包率,1分鐘通過網卡的數據包的數量
  (3)測試的常見流量模式
    TCP三種:
    單TCP鏈接,傳輸大數據量
    單TCP鏈接,大鏈接次數
    多TCP鏈接,每一個鏈接對應RR模式
    UDP兩種:
    單UDP,單向批量傳輸
    RR模式
  (4)測試參數-t的做用
大數據

    指定5種測試類型:

    TCP_STREAM,tcp批量傳輸
    UDP_STREAM,udp批量傳輸
    TCP_RR,屢次交易過程
    UDP_RR,屢次交易過程
    TCP_CRR,多鏈接場景

 

  4,硬盤
  硬盤測試主要測試吞吐量和iops,可是須要特別注意的是cache對磁盤io影響。
  (1)常見的cache

    在不一樣系統層面有4種:

    guest os的buffer cache
    host os 的buffer cache
    raid卡的cache、模式
    物理disk的cache、模式
  因此測試結果須要註明軟硬件環境、cache模式纔有意義
  (2)測試環境推薦
    禁用物理disk的cache
    禁用raid卡的weiteback cache
    虛擬機硬盤模式設爲writethough或direct io,以保證數據一致性
  (3)測試用例推薦
    1MB順序讀寫——測試大數據塊性能
    4KB隨機讀寫——測試併發性能
    模擬業務場景,如
4KB順序寫 30%,8KB隨機寫 50%,20%隨機寫

  (4)測試工具:fio、iometer、iozone、dd
  fio
    用於基準和壓力測試的io工具
    支持裸設備、文件系統的測試
    官方howto文檔介紹的很詳細,http://bluestop.org/files/fio/HOWTO.txt
  iometer
    主要windows系統下
  iozone
    針對文件系統的性能測試工具
    圖形展現測試結果,軟件是收費的
  dd
    系統自帶的命令,無需安裝
    只能測試順序io性能
    採用oflag或iflag參數指定direct sync dsync模式

 

  最後,照例放上總結圖:

相關文章
相關標籤/搜索