轉自:https://blog.csdn.net/gatieme/article/details/50912910
UnixBench
unixbench
是一個用於測試unix
系統性能的工具,也是一個比較通用的benchmark
, 此測試的目的是對類Unix
系統提供一個基本的性能指示,很多測試用於系統性能的不同方面,這些測試的結果是一個指數值(index value
,如520),這個值是測試系統的測試結果與一個基線系統測試結果比較得到的指數值,這樣比原始值更容易得到參考價值,測試集合裏面所有的測試得到的指數值結合起來得到整個系統的指數值。
各項的測試有得分,然後有一個綜合的得分,這樣可以很方便的通過分數去比較。
源於1995 年,基線系統是“George”,一個工作站:SPARCstation 20‐61,128MB RAM,Solaris2.3,此係統的指數值被設定爲10,所以,如果一個系統的最後結果分數爲520,意思是指此係統比基線系統運行快52 倍。
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測試非常有限。測試結果和硬件,系統合適的驅動關係很大。
安裝
Unixbench-5.1.2.tar.gz下載地址:http://soft.vpser.net/test/unixbench/
tar -xzvf unixbench-5.1.2.tar.gz
cd unixbench-5.1.2
- 1
- 2
- 3
閱讀README文件,得知如果不需要進行圖形測試或者不在圖形化界面下測試,則將Makefile文件中GRAPHICS_TEST = defined註釋掉,我的是在46行。
make
- 1
使用
運行./Run
然後等待程序進行測試即可,這個過程可能比較漫長,請耐心等待
對於運行結果,說明如下:
看到run文件後,輸入 ./Run 執行命令對VPS進行性能測試就開始了,最後跑完將會有一個分數在底部出現。通常情況下1000分以上的VPS是性能較好的。
測試項目 | 項目說明 | 基準線 |
---|---|---|
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