天天看點

Linux性能測試工具-UnixBench--安裝以及結果分析 UnixBench 測試項目 安裝 使用

<code>unixbench</code>是一個用于測試<code>unix</code>系統性能的工具,也是一個比較通用的<code>benchmark</code>, 此測試的目的是對類<code>unix</code> 系統提供一個基本的性能訓示,很多測試用于系統性能的不同方面,這些測試的結果是一個指數值(<code>index value</code>,如520),這個值是測試系統的測試結果與一個基線系統測試結果比較得到的指數值,這樣比原始值更容易得到參考價值,測試集合裡面所有的測試得到的指數值結合起來得到整個系統的指數值。

各項的測試有得分,然後有一個綜合的得分,這樣可以很友善的通過分數去比較。

源于1995 年,基線系統是“george”,一個工作站:sparcstation 20‐61,128mb ram,solaris2.3,此系統的指數值被設定為10,是以,如果一個系統的最後結果分數為520,意思是指此系統比基線系統運作快52 倍。

unixbench也包含一些非常簡單的2d和3d圖形測試。

unixbench也支援多cpu系統的測試,預設的行為是測試兩次,第一次是一個程序的測試,第二次是n份測試,n等于cpu個數。這樣的設計是為了以下目标:

測試系統的單任務性能

測試系統的多任務性能

測試系統并行處理的能力

unixbench一個基于系統的基準測試工具,不單純是cpu 記憶體 或者磁盤測試工具。測試結果不僅僅取決于硬體,也取決于系統、開發庫、甚至是編譯器。

測試聚焦在字元串處理,沒有浮點運算操作。這個測試用于測試連結器編譯、代碼優化、記憶體緩存、等待狀态、整數資料類型等,硬體和軟體設計都會非常大的影響測試結果。

這項測試項目用于測試浮點運算效率和速度。這項測試項目包含若幹個科學計算的典型性能子產品,包含大量的c語言函數,sin cos sqrt exp和日志以及使用整數和浮點的數學操作。包含數組通路、條件分支和過程調用。

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

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

這項測試衡量檔案資料從一個檔案被傳輸到另外一個,使用大量的緩存。包括檔案的讀、寫、複制測試,測試名額是一定時間内(預設是10秒)被重寫、讀、複制的字元數量。

pipe是簡單的程序之間的通訊。管道吞吐測試是測試在一秒鐘一個程序寫512比特到一個管道中并且讀回來的次數。管道吞吐測試和實際程式設計有差距。

這項測試衡量兩個程序通過管道交換和整數倍的增加吞吐的次數。基于管道的上下文切換和真實程式很類似。測試程式産生一個雙向管道通訊的子線程。

這項測試衡量一個程序能産生子線程并且立即退出的次數。新程序真的建立程序阻塞和記憶體占用,是以測試程式直接使用記憶體帶寬。這項測試用于典型的比較大量的作業系統程序建立操作。

shell腳本測試用于衡量在一分鐘内,一個程序可以啟動并停止shell腳本的次數,通常會測試1,2, 3, 4, 8 個shell腳本的共同拷貝,shell腳本是一套轉化資料檔案的腳本。

這項測試衡量進入和離開系統核心的消耗,例如,系統調用的消耗。程式簡單重複的執行getpid調用(傳回調用的程序id)。消耗的名額是調用進入和離開核心的執行時間。

由”ubgears”程式組成,測試非常粗的2d和3d圖形性能,尤其是3d測試非常有限。測試結果和硬體,系統合适的驅動關系很大。

Linux性能測試工具-UnixBench--安裝以及結果分析 UnixBench 測試項目 安裝 使用

1

2

3

Linux性能測試工具-UnixBench--安裝以及結果分析 UnixBench 測試項目 安裝 使用

閱讀readme檔案,得知如果不需要進行圖形測試或者不在圖形化界面下測試,則将makefile檔案中graphics_test = defined注釋掉,我的是在46行。

Linux性能測試工具-UnixBench--安裝以及結果分析 UnixBench 測試項目 安裝 使用

運作./run

然後等待程式進行測試即可,這個過程可能比較漫長,請耐心等待

對于運作結果,說明如下:

看到run檔案後,輸入 ./run 執行指令對vps進行性能測試就開始了,最後跑完将會有一個分數在底部出現。通常情況下1000分以上的vps是性能較好的。

Linux性能測試工具-UnixBench--安裝以及結果分析 UnixBench 測試項目 安裝 使用

測試項目

項目說明

基準線

dhrystone 2 using register variables

測試 string handling

116700.0lps

double-precision whetstone

測試浮點數操作的速度和效率

55.0mwips

execl throughput

此測試考察每秒鐘可以執行的 execl 系統調用的次數

43.0lps

file copy 1024 bufsize 2000 maxblocks

測試從一個檔案向另外一個檔案傳輸資料的速率

3960.0kbps

file copy 256 bufsize 500 maxblocks

測試從一個檔案向另外一個檔案傳輸資料的速率。

1655.0kbps

file read 4096 bufsize 8000 maxblocks

5800.0kbps

pipe-based context switching

測試兩個程序(每秒鐘)通過一個管道交換一個不斷增長的整數的次數

12440.0lps

pipe throughput

一秒鐘内一個程序可以向一個管道寫 512 位元組資料然後再讀回的次數

4000.0lps

process creation

測試每秒鐘一個程序可以建立子程序然後收回子程序的次數(子程序一定立即退出)。

126.0lps

shell scripts (8 concurrent)

測試一秒鐘内一個程序可以并發地開始一個shell 腳本的 n 個拷貝的次數,n 一般取值1,2,4,8.

42.4lpm

system call overhead

測試進入和離開作業系統核心的代價,即一次系統調用的代價。

6.0lpm

score

轉載:http://blog.csdn.net/gatieme/article/details/50912910

繼續閱讀