在Linux中使用unixbench來測試測試系統性能

unixbench是什麼?
  unixbench是一套unix系統基准測試套件。

unixbench的設計目標是為類unix系統提供一套基本的指標,所以有許多項目測試系統各方面的性能。各項的測試有得分,然後有一個綜合的得分,這樣可以很方便的通過分數去比較。

  unixbench也包含一些非常簡單的2D和3D圖形測試。
  unixbench也支持多CPU系統的測試,默認的行為是測試兩次,第一次是一個進程的測試,第二次是N份測試,N等於CPU個數。這樣的設計是為了以下目標:
  測試系統的單任務性能
  測試系統的多任務性能
  測試系統並行處理的能力

  unixbench一個基於系統的基准測試工具,不單純是CPU 內存 或者磁盤測試工具。測試結果不僅僅取決於硬件,也取決於系統、開發庫、甚至是編譯器。

  測試項目

  Dhrystone測試
  測試聚焦在字符串處理,沒有浮點運算操作。這個測試用於測試鏈接器編譯、代碼優化、內存緩存、等待狀態、整數數據類型等,硬件和軟件設計都會非常大的影響測試結果。

  Whetstone 測試
  這項測試項目用於測試浮點運算效率和速度。這項測試項目包含若干個科學計算的典型性能模塊,包含大量的C語言函數,sin cos sqrt exp和日志以及使用整數和浮點的數學操作。包含數組訪問、條件分支和過程調用。

  Execl Throughput(execl 吞吐,這裡的execl是類unix系統非常重要的函數,非辦公軟件的execl)測試

  這項測試測試每秒execl函數調用次數。execl是 exec函數家族的一部分,使用新的圖形處理代替當前的圖形處理。有許多命令和前端的execve()函數命令非常相似。

  File Copy測試
  這項測試衡量文件數據從一個文件被傳輸到另外一個,使用大量的緩存。包括文件的讀、寫、復制測試,測試指標是一定時間內(默認是10秒)被重寫、讀、復制的字符數量。

  Pipe Throughput(管道吞吐)測試
  pipe是簡單的進程之間的通訊。

管道吞吐測試是測試在一秒鐘一個進程寫512比特到一個管道中並且讀回來的次
  數。管道吞吐測試和實際編程有差距。

  Pipe-based Context Switching (基於管道的上下文交互)測試
  這項測試衡量兩個進程通過管道交換和整數倍的增加吞吐的次數。基於管道的上下文切換和真實程序很類似。測試程序產生一個雙向管道通訊的子線程。

  Process Creation(進程創建)測試
  這項測試衡量一個進程能產生子線程並且立即退出的次數。新進程真的創建進程阻塞和內存占用,所以測試程序直接使用內存帶寬。這項測試用於典型的比較大量的操作系統進程創建操作。

  Shell Scripts測試
  shell腳本測試用於衡量在一分鐘內,一個進程可以啟動並停止shell腳本的次數,通常會測試1,2, 3, 4, 8 個shell腳本的共同拷貝,shell腳本是一套轉化數據文件的腳本。

  System Call Overhead (系統調用消耗)測試
  這項測試衡量進入和離開系統內核的消耗,例如,系統調用的消耗。程序簡單重復的執行getpid調用(返回調用的進程id)。消耗的指標是調用進入和離開內核的執行時間。

  Graphical Tests(圖形)測試
  由”ubgears”程序組成,測試非常粗的2D和3D圖形性能,尤其是3D測試非常有限。測試結果和硬件,系統合適的驅動關系很大。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *