UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能。Unixbench的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。

安装

wget https://s3.amazonaws.com/cloudbench/software/UnixBench5.1.3.tgz --no-check-certificate
tar xf UnixBench5.1.3.tgz
cd UnixBench
make -j8

使用

./Run # 等待10~60分钟,出结果

结果示例

"""
make all
make[1]: Entering directory '/home/dewan/work/UnixBench'
Checking distribution of files
./pgms exists
./src exists
./testdir exists
./tmp exists
./results exists
make[1]: Leaving directory '/home/dewan/work/UnixBench'
sh: 1: 3dinfo: 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 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 8 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10 8 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10 8 x Execl Throughput 1 2 3 8 x File Copy 1024 bufsize 2000 maxblocks 1 2 3 8 x File Copy 256 bufsize 500 maxblocks 1 2 3 8 x File Copy 4096 bufsize 8000 maxblocks 1 2 3 8 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10 8 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10 8 x Process Creation 1 2 3 8 x System Call Overhead 1 2 3 4 5 6 7 8 9 10 8 x Shell Scripts (1 concurrent) 1 2 3 8 x Shell Scripts (8 concurrent) 1 2 3 ========================================================================
BYTE UNIX Benchmarks (Version 5.1.3) System: LAPTOP-NFVVPB14: GNU/Linux
OS: GNU/Linux -- 5.10.16.3-microsoft-standard-WSL2 -- #1 SMP Fri Apr 2 22:23:49 UTC 2021
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (4192.0 bogomips)
Hyper-Threading, x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 1: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (4192.0 bogomips)
Hyper-Threading, x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 2: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (4192.0 bogomips)
Hyper-Threading, x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 3: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (4192.0 bogomips)
Hyper-Threading, x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 4: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (4192.0 bogomips)
Hyper-Threading, x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 5: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (4192.0 bogomips)
Hyper-Threading, x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 6: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (4192.0 bogomips)
Hyper-Threading, x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 7: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (4192.0 bogomips)
Hyper-Threading, x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
21:13:36 up 6:08, 0 users, load average: 0.17, 0.05, 0.01; runlevel unknown ------------------------------------------------------------------------
Benchmark Run: Mon Dec 13 2021 21:13:36 - 21:41:36
8 CPUs in system; running 1 parallel copy of tests Dhrystone 2 using register variables 31271617.9 lps (10.0 s, 7 samples)
Double-Precision Whetstone 6893.8 MWIPS (9.9 s, 7 samples)
Execl Throughput 5103.8 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 1250688.8 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 353369.6 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 2797005.3 KBps (30.0 s, 2 samples)
Pipe Throughput 2190662.0 lps (10.0 s, 7 samples)
Pipe-based Context Switching 16276.4 lps (10.0 s, 7 samples)
Process Creation 6255.0 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 9968.6 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 3964.2 lpm (60.0 s, 2 samples)
System Call Overhead 2897227.0 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 31271617.9 2679.7
Double-Precision Whetstone 55.0 6893.8 1253.4
Execl Throughput 43.0 5103.8 1186.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 1250688.8 3158.3
File Copy 256 bufsize 500 maxblocks 1655.0 353369.6 2135.2
File Copy 4096 bufsize 8000 maxblocks 5800.0 2797005.3 4822.4
Pipe Throughput 12440.0 2190662.0 1761.0
Pipe-based Context Switching 4000.0 16276.4 40.7
Process Creation 126.0 6255.0 496.4
Shell Scripts (1 concurrent) 42.4 9968.6 2351.1
Shell Scripts (8 concurrent) 6.0 3964.2 6607.0
System Call Overhead 15000.0 2897227.0 1931.5
========
System Benchmarks Index Score 1508.1 ------------------------------------------------------------------------
Benchmark Run: Mon Dec 13 2021 21:41:36 - 10:50:25
8 CPUs in system; running 8 parallel copies of tests Dhrystone 2 using register variables 184612035.4 lps (10.0 s, 7 samples)
Double-Precision Whetstone 43384.1 MWIPS (10.1 s, 7 samples)
Execl Throughput 18266.1 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 796475.7 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 229964.4 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1808295.6 KBps (30.0 s, 2 samples)
Pipe Throughput 10878971.6 lps (10.0 s, 7 samples)
Pipe-based Context Switching 1491847.1 lps (10.0 s, 7 samples)
Process Creation 28912.2 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 36066.7 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 5083.6 lpm (60.0 s, 2 samples)
System Call Overhead 12490140.8 lps (10.0 s, 7 samples) System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 184612035.4 15819.4
Double-Precision Whetstone 55.0 43384.1 7888.0
Execl Throughput 43.0 18266.1 4247.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 796475.7 2011.3
File Copy 256 bufsize 500 maxblocks 1655.0 229964.4 1389.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 1808295.6 3117.8
Pipe Throughput 12440.0 10878971.6 8745.2
Pipe-based Context Switching 4000.0 1491847.1 3729.6
Process Creation 126.0 28912.2 2294.6
Shell Scripts (1 concurrent) 42.4 36066.7 8506.3
Shell Scripts (8 concurrent) 6.0 5083.6 8472.6
System Call Overhead 15000.0 12490140.8 8326.8
========
System Benchmarks Index Score 4932.6
"""

测试项说明

### Dhrystone 2 using register variables

此项用于测试 string handling,因为没有浮点操作,所以深受软件和硬件设计(hardware and software design)、编译和链接(compiler and linker options)、代码优化(code optimazaton)、对内存的cache(cache memory)、等待状态(wait states)、整数数据类型(integer data types)的影响。

### Double-Precision Whetstone

这一项测试浮点数操作的速度和效率。这一测试包括几个模块,每个模块都包括一组用于科学计算的操作。覆盖面很广的一系列 c 函数:sin,cos,sqrt,exp,log 被用于整数和浮点数的数学运算、数组访问、条件分支(conditional branch)和程序调用。此测试同时测试了整数和浮点数算术运算。

### Execl Throughput

此测试考察每秒钟可以执行的 execl 系统调用的次数。execl 系统调用是 exec 函数族的一员。它和其他一些与之相似的命令一样是 execve() 函数的前端。

### File copy

测试从一个文件向另外一个文件传输数据的速率。每次测试使用不同大小的缓冲区。这一针对文件 read、write、copy 操作的测试统计规定时间(默认是 10s)内的文件 read、write、copy 操作次数。

### Pipe Throughput

管道(pipe)是进程间交流的最简单方式,这里的 Pipe throughtput 指的是一秒钟内一个进程可以向一个管道写 512 字节数据然后再读回的次数。需要注意的是,pipe throughtput 在实际编程中没有对应的真实存在。

### Pipe-based Context Switching

这个测试两个进程(每秒钟)通过一个管道交换一个不断增长的整数的次数。这一点很向现实编程中的一些应用,这个测试程序首先创建一个子进程,再和这个子进程进行双向的管道传输。

### Process Creation

测试每秒钟一个进程可以创建子进程然后收回子进程的次数(子进程一定立即退出)。process creation 的关注点是新进程进程控制块(process control block)的创建和内存分配,即一针见血地关注内存带宽。一般说来,这个测试被用于对操作系统进程创建这一系统调用的不同实现的比较。

### System Call Overhead

测试进入和离开操作系统内核的代价,即一次系统调用的代价。它利用一个反复地调用 getpid 函数的小程序达到此目的。

### Shell Scripts

测试一秒钟内一个进程可以并发地开始一个 shell 脚本的 n 个拷贝的次数,n 一般取值 1,2,4,8。(我在测试时取 1, 8)。这个脚本对一个数据文件进行一系列的变形操作(transformation)。

linux 软件包:UnixBench 性能测试工具、跑分神器的更多相关文章

  1. 【Linux】网络性能测试工具iperf详细使用图文教程【转】

    参考链接:https://www.cnblogs.com/yingsong/p/5682080.html Iperf是一个网络性能测试工具.Iperf可以测试TCP和UDP带宽质量. Iperf可以测 ...

  2. linux主机上,UnixBench性能测试工具使用

    1,下载  wget http://soft.laozuo.org/scripts/UnixBench5.1.3.tgz [root@VM_0_15_centos test]# [root@VM_0_ ...

  3. linux AB web 性能测试工具

    ab(选项)(参数) 选项 -A:指定连接服务器的基本的认证凭据: -c:指定一次向服务器发出请求数: -C:添加cookie: -g:将测试结果输出为“gnuolot”文件: -h:显示帮助信息: ...

  4. unixbench性能测试跑分工具

    UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能 所谓跑分工具,不仅各项的测试有得分,最后跑完也会有一个综合 ...

  5. LINUX系统下跑分测试脚本:unixbench.sh

    linux 系统跑分测试脚本:     一.下载脚本:        wget http://teddysun.com/wp-content/uploads/unixbench.sh 二.更改权限:  ...

  6. VPS性能综合测试(6):UnixBench跑分工具测试

    测试时间可能会比较长,请耐心等待.最后UnixBench会详细列出各个测试项目的得分情况,以及VPS性能的综合跑分结果 UinxBench 的使用 使用方法如下: Run [ -q | -v ] [- ...

  7. (四)—性能测试工具curl-loader(linux)

    curl-loader介绍 curl-loader(也被称为"omes-NIK"和"davilka")是一个开源的C语言编写的工具,模拟应用负载和成千上万的几十 ...

  8. 性能测试工具curl-loader(linux)

    curl-loader介绍 curl-loader(也被称为“omes-NIK”和“davilka”)是一个开源的C语言编写的工具,模拟应用负载和成千上万的几十万人的HTTP / HTTPS和FTP/ ...

  9. [原创]Linux下网络性能测试Netperf工具介绍及安装

    [原创]Linux下网络性能测试Netperf工具介绍及安装 1 官方网站 http://www.netperf.org/netperf/ 2 Netperf介绍 Netperf是一种网络性能的测试工 ...

  10. Linux性能测试工具

    Linux性能测试工具 在测试中,我们不仅需要查看系统日志信息,而且还要使用大量的性能监测工具来关注某些地方,如内存.CPU等.在Linux系统中,所有的运行参数保存在虚拟目录/proc中,换句话说, ...

随机推荐

  1. include-file

    0X01 前言 这篇文章介绍文件包含漏洞. 0X02 最常见的两个函数的形象解释: 我们知道文件包含最常见的是两个函数 include() require()(这里就不谈他们的亲戚 include_o ...

  2. API网关:开源Apinto网关-上游服务篇(二)

    功能介绍 服务发现是一种分布式系统中的关键技术,它能够帮助应用程序动态地发现和访问依赖的服务实例,解决了服务实例分布在不同节点上的问题.通过服务发现,应用程序可以快速找到需要调用的服务实例的位置和元数 ...

  3. NOIP 2021 备战计划

    NOIP 2021 备战计划 复习知识点: 加粗表示一定去复习,?表示很可能不需要 线段树.树状数组:无论最近写多少遍都要去好好复习 Dij.SPFA:理由同上 大DP:哪个不重要? 门类:线性DP. ...

  4. Prism Sample 14-UsingEventAggregator

    这次是事件聚合器的应用. 事件聚合器应用第一步:定义一个事件聚合器,应该是一个可访问的公共区域,例14为它做了一个core的项目.代码很简单: using Prism.Events; namespac ...

  5. 2020-10-13:hash与B+tree的区别?

    福哥答案2020-10-13: [答案来自知乎:](https://www.zhihu.com/question/425378511/answer/1522000015) 这里我从数据库索引的层面回答 ...

  6. GPT大语言模型Alpaca-lora本地化部署实践【大语言模型实践一】

    模型介绍 Alpaca模型是斯坦福大学研发的LLM(Large Language Model,大语言)开源模型,是一个在52K指令上从LLaMA 7B(Meta公司开源的7B)模型微调而来,具有70亿 ...

  7. HTML转为PDF,图片导出失败的终极解决方案

    如题项目有需求将一个页面导出为pdf,然而页面中的图片却始终无法导出成功 文章目录 一.导出的方法 二.初步测试的结果 三.使用f12查找原油 四.方案一 五.方案二 六.方案三 七.完整代码 1.使 ...

  8. docker部署gitlab CI/CD (一)第一篇:部署gitlab及汉化

    网上很多类似教程,但多少有点夹带私货,有的竟然拉取的第三方镜像,而且很多都要修改配置文件,完全不知道是为什么,于是结合其他人的博客和官方文档,知其然也要知其所以然,于2023年4月17日写下这篇. 官 ...

  9. Groovy 基于Groovy实现MD5加密

    groovy 3.0.7 代码实现 实现方式1 import java.security.MessageDigest; public class MD5Utils { public final sta ...

  10. Go 开源库运行时依赖注入框架 Dependency injection

    Dependency injection 一个Go编程语言的运行依赖注入库.依赖注入是更广泛的控制反转技术的一种形式.它用于增加程序的模块化并使其具有可扩展性. 实例展示(High API): typ ...