unixbench是什么?
unixbench是一套unix系統(tǒng)基準測試套件。unixbench的設(shè)計目標是為類unix系統(tǒng)提供一套基本的指標,所以有許多項目測試系統(tǒng)各方面的性能。各項的測試有得分,然后有一個綜合的得分,這樣可以很方便的通過分數(shù)去比較。
unixbench也包含一些非常簡單的2D和3D圖形測試。
unixbench也支持多CPU系統(tǒng)的測試,默認的行為是測試兩次,第一次是一個進程的測試,第二次是N份測試,N等于CPU個數(shù)。這樣的設(shè)計是為了以下目標:
測試系統(tǒng)的單任務(wù)性能
測試系統(tǒng)的多任務(wù)性能
測試系統(tǒng)并行處理的能力
unixbench一個基于系統(tǒng)的基準測試工具,不單純是CPU 內(nèi)存 或者磁盤測試工具。測試結(jié)果不僅僅取決于硬件,也取決于系統(tǒng)、開發(fā)庫、甚至是編譯器。
測試項目
Dhrystone測試
測試聚焦在字符串處理,沒有浮點運算操作。這個測試用于測試鏈接器編譯、代碼優(yōu)化、內(nèi)存緩存、等待狀態(tài)、整數(shù)數(shù)據(jù)類型等,硬件和軟件設(shè)計都會非常大的影響測試結(jié)果。
Whetstone 測試
這項測試項目用于測試浮點運算效率和速度。這項測試項目包含若干個科學(xué)計算的典型性能模塊,包含大量的C語言函數(shù),sin cos sqrt exp和日志以及使用整數(shù)和浮點的數(shù)學(xué)操作。包含數(shù)組訪問、條件分支和過程調(diào)用。
Execl Throughput(execl 吞吐,這里的execl是類unix系統(tǒng)非常重要的函數(shù),非辦公軟件的execl)測試
這項測試測試每秒execl函數(shù)調(diào)用次數(shù)。execl是 exec函數(shù)家族的一部分,使用新的圖形處理代替當前的圖形處理。有許多命令和前端的execve()函數(shù)命令非常相似。
File Copy測試
這項測試衡量文件數(shù)據(jù)從一個文件被傳輸?shù)搅硗庖粋€,使用大量的緩存。包括文件的讀、寫、復(fù)制測試,測試指標是一定時間內(nèi)(默認是10秒)被重寫、讀、復(fù)制的字符數(shù)量。
Pipe Throughput(管道吞吐)測試
pipe是簡單的進程之間的通訊。管道吞吐測試是測試在一秒鐘一個進程寫512比特到一個管道中并且讀回來的次
數(shù)。管道吞吐測試和實際編程有差距。
Pipe-based Context Switching (基于管道的上下文交互)測試
這項測試衡量兩個進程通過管道交換和整數(shù)倍的增加吞吐的次數(shù)?;诠艿赖纳舷挛那袚Q和真實程序很類似。測試程序產(chǎn)生一個雙向管道通訊的子線程。
Process Creation(進程創(chuàng)建)測試
這項測試衡量一個進程能產(chǎn)生子線程并且立即退出的次數(shù)。新進程真的創(chuàng)建進程阻塞和內(nèi)存占用,所以測試程序直接使用內(nèi)存帶寬。這項測試用于典型的比較大量的操作系統(tǒng)進程創(chuàng)建操作。
Shell Scripts測試
shell腳本測試用于衡量在一分鐘內(nèi),一個進程可以啟動并停止shell腳本的次數(shù),通常會測試1,2, 3, 4, 8 個shell腳本的共同拷貝,shell腳本是一套轉(zhuǎn)化數(shù)據(jù)文件的腳本。
System Call Overhead (系統(tǒng)調(diào)用消耗)測試
這項測試衡量進入和離開系統(tǒng)內(nèi)核的消耗,例如,系統(tǒng)調(diào)用的消耗。程序簡單重復(fù)的執(zhí)行g(shù)etpid調(diào)用(返回調(diào)用的進程id)。消耗的指標是調(diào)用進入和離開內(nèi)核的執(zhí)行時間。
Graphical Tests(圖形)測試
由"ubgears"程序組成,測試非常粗的2D和3D圖形性能,尤其是3D測試非常有限。測試結(jié)果和硬件,系統(tǒng)合適的驅(qū)動關(guān)系很大。
unixbench安裝
wget http://byte-unixbench.googlecode.com/files/unixbench-5.1.2.tar.gz
tar xvfz unixbench-5.1.2.tar.gz
cd unixbench-5.1.2
如果不需要測試圖形,注釋掉Makefile文件的這一行
#GRAPHIC_TESTS = defined
運行
./Run
測試結(jié)果
# # # # # # # ##### ###### # # #### # #
# # ## # # # # # # # ## # # # # #
# # # # # # ## ##### ##### # # # # ######
# # # # # # ## # # # # # # # # #
# # # ## # # # # # # # ## # # # #
#### # # # # # ##### ###### # # #### # #
Version 5.1.2 Based on the Byte Magazine Unix Benchmark
Multi-CPU version Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
December 22, 2007 johantheghost at yahoo period com
1 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
1 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
1 x Execl Throughput 1 2 3
1 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
1 x File Copy 256 bufsize 500 maxblocks 1 2 3
1 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
1 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
1 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
1 x Process Creation 1 2 3
1 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
1 x Shell Scripts (1 concurrent) 1 2 3
1 x Shell Scripts (8 concurrent) 1 2 3
========================================================================
BYTE UNIX Benchmarks (Version 5.1.2)
System: localhost.localdomain: GNU/Linux
OS: GNU/Linux -- 3.10.0-123.8.1.el7.x86_64 -- #1 SMP Mon Sep 22 19:06:58 UTC 2014
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Xeon(R) CPU X5650 @ 2.67GHz (5331.8 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
08:24:54 up 1 day, 2:11, 1 user, load average: 0.00, 0.01, 0.05; runlevel 3
------------------------------------------------------------------------
Benchmark Run: Wed Nov 12 2014 08:24:54 - 08:52:53
1 CPU in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 28890881.0 lps (10.0 s, 7 samples)
Double-Precision Whetstone 3880.4 MWIPS (9.0 s, 7 samples)
Execl Throughput 4146.3 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 1051084.3 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 286552.2 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 2142638.4 KBps (30.0 s, 2 samples)
Pipe Throughput 1726807.0 lps (10.0 s, 7 samples)
Pipe-based Context Switching 322865.5 lps (10.0 s, 7 samples)
Process Creation 13662.4 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 5955.4 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 713.1 lpm (60.0 s, 2 samples)
System Call Overhead 2138318.1 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 28890881.0 2475.7
Double-Precision Whetstone 55.0 3880.4 705.5
Execl Throughput 43.0 4146.3 964.2
File Copy 1024 bufsize 2000 maxblocks 3960.0 1051084.3 2654.3
File Copy 256 bufsize 500 maxblocks 1655.0 286552.2 1731.4
File Copy 4096 bufsize 8000 maxblocks 5800.0 2142638.4 3694.2
Pipe Throughput 12440.0 1726807.0 1388.1
Pipe-based Context Switching 4000.0 322865.5 807.2
Process Creation 126.0 13662.4 1084.3
Shell Scripts (1 concurrent) 42.4 5955.4 1404.6
Shell Scripts (8 concurrent) 6.0 713.1 1188.4
System Call Overhead 15000.0 2138318.1 1425.5
========
System Benchmarks Index Score 1444.7