Linux性能测试工具-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/

# Create new soft download dir 
 
mkdir -p /workspace                               
cd /workspace
 
# Download unixbench                                                         
wget http://www.ctohome.com/linux-vps-pack/unixbench-5.1.2.tar.gz          
tar xzf unixbench-5.1.2.tar.gz                                              
cd unixbench-5.1.2                                                         
                                                                             
yum -y install gcc gcc-c autoconf gcc-c++ time  perl-Time-HiRes -y                              
                                                                             
#Run unixbench                                                               
sed -i "s/GRAPHIC_TESTS = defined/#GRAPHIC_TESTS = defined/g" ./Makefile     
make                                                                        
./Run                                                                       
                                                                             
wget http://www.CTOHome.com/linux-vps-pack/unixbench.sh;sh ./unixbench.sh;
 
Unixbench的官方网址:http://code.google.com/p/byte-unixbench/
Unixbench下载地址:http://code.google.com/p/byte-unixbench/downloads/list
 

测试结果

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: jp33e507-12-19.ptengine.com: GNU/Linux
   OS: GNU/Linux -- 3.10.0-1062.4.1.el7.x86_64 -- #1 SMP Fri Oct 18 17:15:30 UTC 2019
   Machine: x86_64 (x86_64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 1: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 2: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 3: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 4: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 5: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 6: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 7: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 8: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 9: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 10: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 11: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 12: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 13: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 14: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 15: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 16: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 17: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 18: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 19: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 20: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 21: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 22: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 23: Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz (4999.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   14:54:59 up 2 days, 16:16,  1 user,  load average: 0.06, 0.09, 0.07; runlevel 5

------------------------------------------------------------------------
Benchmark Run: Mon Jun 01 2020 14:54:59 - 15:23:12
24 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       38623119.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4377.7 MWIPS (10.9 s, 7 samples)
Execl Throughput                               2738.5 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        587938.1 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          151630.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       2098480.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              753531.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 163247.7 lps   (10.0 s, 7 samples)
Process Creation                              11853.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   6378.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   3688.5 lpm   (60.0 s, 2 samples)
System Call Overhead                         560352.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   38623119.4   3309.6
Double-Precision Whetstone                       55.0       4377.7    795.9
Execl Throughput                                 43.0       2738.5    636.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     587938.1   1484.7
File Copy 256 bufsize 500 maxblocks            1655.0     151630.6    916.2
File Copy 4096 bufsize 8000 maxblocks          5800.0    2098480.0   3618.1
Pipe Throughput                               12440.0     753531.5    605.7
Pipe-based Context Switching                   4000.0     163247.7    408.1
Process Creation                                126.0      11853.0    940.7
Shell Scripts (1 concurrent)                     42.4       6378.6   1504.4
Shell Scripts (8 concurrent)                      6.0       3688.5   6147.5
System Call Overhead                          15000.0     560352.7    373.6
                                                                   ========
System Benchmarks Index Score                                        1170.8

------------------------------------------------------------------------
Benchmark Run: Mon Jun 01 2020 15:23:12 - 15:23:12
24 CPUs in system; running 24 parallel copies of tests

 

 

 

2
如无特殊说明,文章均为本站原创,转载请注明出处

该文章由 发布

这货来去如风,什么鬼都没留下!!!
发表我的评论

Hi,请填写昵称和邮箱!

取消评论
代码 贴图 加粗 链接 删除线 签到