UnixBench-Linux主机性能测试

  • Post author:
  • Post category:linux


UnixBench是一个类unix系统(Unix,BSD,Linux)下的性能测试工具,一个开源工具,被广泛用于测试linux系统主机的性能。

Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。

Unixbench一个基于系统的基准测试工具,不单纯是CPU内存或者磁盘测试工具。测试结果不仅仅取决于硬件,也取决于系统、开发库、甚至是编译器。

UnixBench会执行一系列的测试,包括2D和3D图形系统的性能衡量,测试的结果不仅仅只是CPU,内存,或者磁盘为基准,还取决于硬件,操作系统版本,编译器.

测试系统各个方面一系列的性能,然后将每个测试结果和一个基准值进行比较,得到一个索引值,所有测试项目的索引值结合在一起形成一个测试分数值.

UnixBench一键执行脚本,脚本会自动下载unixbench最新版本,并自动运行.根据机器性能,测试执行完大约需要10-30分钟.


1.下载Unixbench:


链接:https://pan.baidu.com/s/1KnHn_xBoUjXInvsOBEYE_A

提取码:2jmw


2.安装Unixbench:

[root@localhost unixbench]# ls
UnixBench5.1.3.tgz
[root@localhost unixbench]# tar zxf UnixBench5.1.3.tgz 
[root@localhost unixbench]# ls
UnixBench  UnixBench5.1.3.tgz
[root@localhost unixbench]# cd UnixBench/
[root@localhost UnixBench]# ls
Makefile  pgms  README  results  Run  src  testdir  USAGE  WRITING_TESTS
[root@localhost UnixBench]# make
Checking distribution of files
./pgms  exists
./src  exists
./testdir  exists
./results  exists
gcc -o ./pgms/arithoh -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -Darithoh ./src/arith.c
gcc -o ./pgms/register -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -Ddatum='register int' ./src/arith.c
gcc -o ./pgms/short -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -Ddatum=short ./src/arith.c
gcc -o ./pgms/int -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -Ddatum=int ./src/arith.c
gcc -o ./pgms/long -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -Ddatum=long ./src/arith.c
gcc -o ./pgms/float -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -Ddatum=float ./src/arith.c
gcc -o ./pgms/double -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -Ddatum=double ./src/arith.c
gcc -o ./pgms/hanoi -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/hanoi.c
gcc -o ./pgms/syscall -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/syscall.c
./src/syscall.c: In function ‘main’:
./src/syscall.c:93:21: warning: null argument where non-null required (argument 2) [-Wnonnull]
                     execl("/bin/true", (char *) 0);
                     ^
gcc -o ./pgms/context1 -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/context1.c
gcc -o ./pgms/pipe -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/pipe.c
gcc -o ./pgms/spawn -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/spawn.c
gcc -o ./pgms/execl -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/execl.c
In file included from ./src/execl.c:34:0:
./src/big.c: In function ‘getwork’:
./src/big.c:452:11: warning: variable ‘c’ set but not used [-Wunused-but-set-variable]
     char  c;
           ^
cd ./src; gcc -c -DTIME -Wall -pedantic -ansi -DHZ= -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall dhry_1.c
cd ./src; gcc -c -DTIME -Wall -pedantic -ansi -DHZ= -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall dhry_2.c
gcc -o ./pgms/dhry2 -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/dhry_1.o ./src/dhry_2.o
cd ./src; rm -f dhry_1.o dhry_2.o
cd ./src; gcc -c -DTIME -Wall -pedantic -ansi -DREG=register -DHZ= -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall dhry_1.c -o dhry_1_reg.o
cd ./src; gcc -c -DTIME -Wall -pedantic -ansi -DREG=register -DHZ= -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall dhry_2.c -o dhry_2_reg.o
gcc -o ./pgms/dhry2reg -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/dhry_1_reg.o ./src/dhry_2_reg.o
cd ./src; rm -f dhry_1_reg.o dhry_2_reg.o
gcc -o ./pgms/looper -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/looper.c
gcc -o ./pgms/fstime -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall ./src/fstime.c
gcc -o ./pgms/whetstone-double -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -DDP -DUNIX -DUNIXBENCH ./src/whets.c -lm
[root@localhost UnixBench]# 


3.运行Unixbench进行测试

[root@localhost UnixBench]# ls
Makefile  pgms  README  results  Run  src  testdir  tmp  USAGE  WRITING_TESTS
[root@localhost UnixBench]# ./Run 
make all
make[1]: Entering directory `/root/unixbench/UnixBench'
Checking distribution of files
./pgms  exists
./src  exists
./testdir  exists
./tmp  exists
./results  exists
make[1]: Leaving directory `/root/unixbench/UnixBench'
sh: 3dinfo: command not found

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com


1 x Dhrystone 2 using register variables  1


4.测试结果(虚拟机,单核8G内存,20G硬盘)

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: localhost.localdomain: GNU/Linux
   OS: GNU/Linux -- 3.10.0-862.el7.x86_64 -- #1 SMP Fri Apr 20 16:44:24 UTC 2018
   Machine: x86_64 (x86_64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz (4608.0 bogomips)
          x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   02:30:27 up  8:32,  2 users,  load average: 0.27, 0.19, 0.15; runlevel 5

------------------------------------------------------------------------
Benchmark Run: Fri Apr 23 2021 02:30:27 - 02:58:38
1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       21333828.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3414.4 MWIPS (9.3 s, 7 samples)
Execl Throughput                               1615.7 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        284211.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           87106.7 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1045341.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              435257.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  79971.7 lps   (10.0 s, 7 samples)
Process Creation                               6296.5 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2450.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    353.3 lpm   (60.2 s, 2 samples)
System Call Overhead                         377287.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   21333828.2   1828.1
Double-Precision Whetstone                       55.0       3414.4    620.8
Execl Throughput                                 43.0       1615.7    375.7
File Copy 1024 bufsize 2000 maxblocks          3960.0     284211.2    717.7
File Copy 256 bufsize 500 maxblocks            1655.0      87106.7    526.3
File Copy 4096 bufsize 8000 maxblocks          5800.0    1045341.9   1802.3
Pipe Throughput                               12440.0     435257.4    349.9
Pipe-based Context Switching                   4000.0      79971.7    199.9
Process Creation                                126.0       6296.5    499.7
Shell Scripts (1 concurrent)                     42.4       2450.7    578.0
Shell Scripts (8 concurrent)                      6.0        353.3    588.9
System Call Overhead                          15000.0     377287.5    251.5
                                                                   ========
System Benchmarks Index Score                                         555.8

[root@localhost UnixBench]# 

5.虚拟机 4核10G内存 40G硬盘的单核和四核结果

------------------------------------------------------------------------
Benchmark Run: Fri Apr 23 2021 06:26:11 - 06:54:06
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       19551304.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2209.9 MWIPS (9.4 s, 7 samples)
Execl Throughput                               1148.2 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        222062.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           58524.8 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        678408.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                              302826.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  10784.7 lps   (10.0 s, 7 samples)
Process Creation                               3836.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2319.0 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    703.9 lpm   (60.1 s, 2 samples)
System Call Overhead                         203648.6 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   19551304.7   1675.3
Double-Precision Whetstone                       55.0       2209.9    401.8
Execl Throughput                                 43.0       1148.2    267.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     222062.8    560.8
File Copy 256 bufsize 500 maxblocks            1655.0      58524.8    353.6
File Copy 4096 bufsize 8000 maxblocks          5800.0     678408.0   1169.7
Pipe Throughput                               12440.0     302826.9    243.4
Pipe-based Context Switching                   4000.0      10784.7     27.0
Process Creation                                126.0       3836.7    304.5
Shell Scripts (1 concurrent)                     42.4       2319.0    546.9
Shell Scripts (8 concurrent)                      6.0        703.9   1173.1
System Call Overhead                          15000.0     203648.6    135.8
                                                                   ========
System Benchmarks Index Score                                         373.0

------------------------------------------------------------------------
Benchmark Run: Fri Apr 23 2021 06:54:06 - 07:22:04
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       42283828.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     7144.5 MWIPS (9.9 s, 7 samples)
Execl Throughput                               3332.6 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        421861.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          115132.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1249613.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                              937903.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 162516.5 lps   (10.0 s, 7 samples)
Process Creation                              10598.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5748.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    786.3 lpm   (60.2 s, 2 samples)
System Call Overhead                         713006.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   42283828.5   3623.3
Double-Precision Whetstone                       55.0       7144.5   1299.0
Execl Throughput                                 43.0       3332.6    775.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     421861.8   1065.3
File Copy 256 bufsize 500 maxblocks            1655.0     115132.0    695.7
File Copy 4096 bufsize 8000 maxblocks          5800.0    1249613.7   2154.5
Pipe Throughput                               12440.0     937903.5    753.9
Pipe-based Context Switching                   4000.0     162516.5    406.3
Process Creation                                126.0      10598.7    841.2
Shell Scripts (1 concurrent)                     42.4       5748.6   1355.8
Shell Scripts (8 concurrent)                      6.0        786.3   1310.5
System Call Overhead                          15000.0     713006.1    475.3
                                                                   ========
System Benchmarks Index Score                                        1020.0