Linux效能測試工具-UnixBench--安裝以及結果分析【轉】
轉自: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