Unixbench控制脚本源码分析

简介: Unixbench是一款用于linux系统的系统性能测试工具。本文是对Unixbench入口脚本Run进行分析。

Unixbench是一款用于linux系统的系统性能测试工具。本文是对Unixbench入口脚本Run进行分析。

此处由于阿里云对markdown语法和latex语法支持的不全,所以附上segmentfault上的文章链接。
https://segmentfault.com/a/1190000023799317

一、执行调用关系

unixbench 控制脚本分析-1 (Small).png

二、单测试项结果分析(结果处理为Run中的combinePassResults函数)

  1. 指定单测试项运行遍数(run pass num),通过变量testParams中的repeat参数指定:

| 命名 | 次数 | 说明 |
| ------ | ---- | ---- |
| short | 3 | 默认 |
| long | 10 | 最大 |
| single | 1 | 最小 |

  1. 先根据每一遍的结果进行排序,去掉最差的1/3的结果,可通过log文件查看:dump score为舍去的结果,Count score为参与算分的结果。
  2. 每一项原始结果,形如:COUNT|x|y|z 其中x为分数,y为时间单位,若y为0则x代表比率,z为标签符号。
  3. 当y为时间单位时的计算公式:

$$ \LARGE{score=e^{(\sum\limits_{i=1}^{iterations}\log(\frac {count\cdot timebase}{time}))/iterations}} $$

  • score: 单项分数
  • iterations:剩余有效结果的个数
  • count:每个有效结果的值
  • timebase:时间基本单位
  • time:运行的总时间

当y为0时的计算公式:

$$ \LARGE{score=e^{(\sum\limits_{i=1}^{iterations}\log(count))/iterations}} $$

三、总分结果分析(结果处理为Run中的indexResults函数)

  1. index值计算公式:

$$ \LARGE index=\frac{score * 10}{baseline} $$

  • score:算出的单项分数
  • baseline:记录在pgms/index.base中的基准值
  1. 总分计算公式:

$$ \Large SUM\_SCORE=e^{(\sum\limits_{i=1}^{tests\_num}log(\frac{score}{baseline}))/test\_num}*10 $$

  • test_num:一个类型中的测试项的个数,可见Run中的testCats变量
目录
相关文章
|
8月前
|
监控 Java 关系型数据库
『Jmeter超级干货』| Linux下Jmeter安装配置、脚本设计执行、监控及报告完整过程
『Jmeter超级干货』| Linux下Jmeter安装配置、脚本设计执行、监控及报告完整过程
1095 1
|
1月前
|
Linux Shell 网络性能优化
Wondershaper网络限制脚本源码分析一(下载速度限制篇)
Wondershaper 是一个简单的 Linux 命令行工具,用于自动管理和控制网络接口的上行和下行带宽,旨在为用户提供稳定的网络体验,尤其是在网络拥塞的情况下。它通过 Traffic Control (tc) 工具集实现这一功能,但与直接使用 tc 相比,Wondersbaper 提供了更简洁易用的界面,特别适合没有深入网络管理知识的用户,但它其实就是由一个bash脚本组成,当然里面的思想非常精华。
|
2月前
|
Linux
Linux每五分钟执行一次某个脚本的定时任务如何写
【6月更文挑战第28天】Linux每五分钟执行一次某个脚本的定时任务如何写
164 0
|
3月前
|
SQL JSON Java
性能工具之 nGrinder Get 请求脚本编写
【5月更文挑战第3天】性能工具之 nGrinder Get 请求脚本编写
40 8
|
3月前
|
运维 Linux Apache
LAMP架构调优(三)——模块的安装与调用
LAMP架构调优(三)——模块的安装与调用
21 0
|
9月前
|
监控 关系型数据库 MySQL
『Jmeter入门万字长文』 | 从环境搭建、脚本设计、执行步骤到生成监控报告完整过程
『Jmeter入门万字长文』 | 从环境搭建、脚本设计、执行步骤到生成监控报告完整过程
320 2
|
存储 监控 Linux
Centos基础指令:更好的掌握系统运行情况
Centos基础指令:更好的掌握系统运行情况
126 0
|
编译器 Shell 开发工具
vim的自动化配置(一条指令就够了)
vim的自动化配置(一条指令就够了)
|
测试技术
loadrunner 运行场景-场景运行原理
loadrunner 运行场景-场景运行原理
111 0
|
算法 Linux PHP
PHP是如何和Linux的CPU交互的?生命周期是怎样的?底层原理是什么?
PHP是如何和Linux的CPU交互的?生命周期是怎样的?底层原理是什么?