专栏首页Linux知识积累Unixbench 测试工具分析

Unixbench 测试工具分析

工具概述

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

最新版本UnixBench5.1.3,包含system和graphic测试,如果你需要测试graphic,则需要修改Makefile,不要注释掉”GRAPHIC_TESTS = defined”,同时需要系统提供x11perf命令gl_glibs库。 下面的脚本使用了最新版UnixBench5.1.3来测试,注释了关于graphic的测试项(大多数VPS都是没有显卡或者是集显,所以图像性能无需测试),运行10-30分钟后(根据CPU内核数量,运算时间不等)得出分数,越高越好。

下载地址: https://github.com/kdlucas/byte-unixbench

执行测试

解压缩之后,执行进入目录Unixbench,执行命令./Run即可。脚本会先进行编译,然后在执行测试。运行截图:

测试得分项说明

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知识积累(LinuxLearning365)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用netstat命令验证DDOS入侵

    般来说,服务器非常慢可能原因是多方面的,有可能是配置错误,脚本错误或者是一些奇诡的硬件。当然也有可能是有人对你的服务器进行 Dos (拒绝服务攻击)或者 DDO...

    用户5807183
  • C语言中调用系统命令(system popen...)

    相关函数 fork,execve,waitpid,popen 表头文件 #include<stdlib.h> 定义函数 int system(const cha...

    用户5807183
  • LVM原理及实现过程

    **参考文档:https://www.cnblogs.com/shawnloong/p/3722469.html ** LVM 的重点在于『可以弹性的调整 fi...

    用户5807183
  • 一键检测Linux VPS/服务器配置、IO、国内节点下载测速

    1.改进了显示的模式,基本参数添加了颜色,方面区分与查找。 2.I/O测试,更改了原来默认的测试的内容,采用小文件,中等文件,大文件,分别测试IO性能,然后取平...

    WZR
  • 聊聊基准测试的可行性方案

    上篇文章介绍了基准测试的一些思路和方法策略,这篇聊聊基准测试的MVP(最小可行性方案)。

    写博客的老张
  • 【荐】Web Application Penetration Testing中文译作

    (英文原版地址:https://www.exploit-db.com/docs/english/44319-web-application-security-t...

    ChaMd5安全团队
  • 一个完整的企业Java项目的生命周期

    1、需求分析  2、概要设计  3、详细设计(用例图,流程图,类图)  4、数据库设计(powerdesigner)  5、代码开发(编写)  6、单元测试(白...

    黑泽君
  • 做测试就是“鼠标点点点”吗?

    隆冬已过,暖春将至,但互联网寒冬却丝毫没有放慢脚步。测试工程师如何在寒冬中保证自身的核心竞争力?资本红利洗刷过后的互联网企业需要怎样的测试人才呢?

    软件测试君
  • 测试基础篇(二)—— 面试挺常见

    ================================================================

    小菠萝测试笔记
  • 测试基础篇(一)—— 面试终极常见

    ==========================================================

    小菠萝测试笔记

扫码关注云+社区

领取腾讯云代金券