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变量
目录
相关文章
|
XML Java 应用服务中间件
Tomcat - 部署项目的四种方式
Tomcat - 部署项目的四种方式
1665 0
|
存储 缓存 人工智能
玄铁 E906处理器简介|学习笔记
快速学习玄铁 E906处理器简介
3619 0
玄铁 E906处理器简介|学习笔记
|
6月前
|
存储 缓存 算法
SGLang Hierarchical Sparse Attention 技术深度解析
阿里云 Tair 联合 SGLang 推出分层稀疏化框架,通过“稀疏+分层”协同优化,将 KVCache 从 GPU 显存扩展至 CPU 与远端存储,实现计算与存储效率双突破,为百万级超长上下文推理提供新路径。
|
网络虚拟化
华为交换机批量加入 Vlan 方法
华为交换机单独加入vlan太麻烦,思科有批量加入vlan的方法,华为也有。要求 1~6口划分到vlan2,6~12口划分到vlan3,13~18口划分到vlan4,19~24口划分到vlan5.25,~26 加入trunk.
4255 0
|
缓存 监控 测试技术
掌握容器化持续集成/持续部署(CI/CD)的最佳实践
【10月更文挑战第8天】本文介绍了容器化持续集成/持续部署(CI/CD)的最佳实践,涵盖容器化CI/CD的概念、优势和实施步骤。通过使用容器技术,可以实现环境一致性、快速迭代和易于扩展,提高软件开发的效率和可靠性。文章还详细讨论了编写高效的Dockerfile、自动化测试、安全性、监控和日志管理等方面的最佳实践。
|
存储 程序员 芯片
虚拟地址和物理地址之间的区别
【4月更文挑战第12天】
2142 2
虚拟地址和物理地址之间的区别
|
算法 调度 UED
【操作系统】调度算法的评价指标和三种调度算法
【操作系统】调度算法的评价指标和三种调度算法
1151 2
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
661 1
|
Kubernetes 容器 Perl
在K8S中,镜像拉取策略有哪些?
在K8S中,镜像拉取策略有哪些?
|
机器学习/深度学习 缓存 分布式计算