UnixBench算分介绍

关于如何用UnixBench,介绍文章很多,这里就不展开了。这里重点描述下它是如何算分的。

运行参数

碰到很多客户,装好后,直接./Run,就把结果跑出来了,然后还只取最后一个分值,比谁高谁低。
下面列一下4C8G的结果:

------------------------------------------------------------------------
Benchmark Run: 一 6月 25 2018 20:25:47 - 20:54:19
4 CPUs in system; running 1 parallel copy of testsDhrystone 2 using register variables       30971628.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3928.1 MWIPS (12.4 s, 7 samples)
Execl Throughput                               3117.6 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        645027.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          229505.4 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1288742.6 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1635960.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 337333.8 lps   (10.0 s, 7 samples)
Process Creation                               8238.2 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5817.0 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   2183.9 lpm   (60.0 s, 2 samples)
System Call Overhead                        2465754.7 lps   (10.0 s, 7 samples)System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   30971628.9   2654.0
Double-Precision Whetstone                       55.0       3928.1    714.2
Execl Throughput                                 43.0       3117.6    725.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     645027.2   1628.9
File Copy 256 bufsize 500 maxblocks            1655.0     229505.4   1386.7
File Copy 4096 bufsize 8000 maxblocks          5800.0    1288742.6   2222.0
Pipe Throughput                               12440.0    1635960.9   1315.1
Pipe-based Context Switching                   4000.0     337333.8    843.3
Process Creation                                126.0       8238.2    653.8
Shell Scripts (1 concurrent)                     42.4       5817.0   1371.9
Shell Scripts (8 concurrent)                      6.0       2183.9   3639.9
System Call Overhead                          15000.0    2465754.7   1643.8========
System Benchmarks Index Score                                        1362.9------------------------------------------------------------------------
Benchmark Run: 一 6月 25 2018 20:54:19 - 21:22:54
4 CPUs in system; running 4 parallel copies of testsDhrystone 2 using register variables      114984418.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    16614.2 MWIPS (11.6 s, 7 samples)
Execl Throughput                              13645.3 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        751698.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          230211.7 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1964420.6 KBps  (30.0 s, 2 samples)
Pipe Throughput                             5999380.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                1095000.2 lps   (10.0 s, 7 samples)
Process Creation                              34454.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                  18218.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   2493.1 lpm   (60.0 s, 2 samples)
System Call Overhead                        5643267.3 lps   (10.0 s, 7 samples)System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  114984418.6   9853.0
Double-Precision Whetstone                       55.0      16614.2   3020.8
Execl Throughput                                 43.0      13645.3   3173.3
File Copy 1024 bufsize 2000 maxblocks          3960.0     751698.4   1898.2
File Copy 256 bufsize 500 maxblocks            1655.0     230211.7   1391.0
File Copy 4096 bufsize 8000 maxblocks          5800.0    1964420.6   3386.9
Pipe Throughput                               12440.0    5999380.0   4822.7
Pipe-based Context Switching                   4000.0    1095000.2   2737.5
Process Creation                                126.0      34454.9   2734.5
Shell Scripts (1 concurrent)                     42.4      18218.1   4296.7
Shell Scripts (8 concurrent)                      6.0       2493.1   4155.1
System Call Overhead                          15000.0    5643267.3   3762.2========
System Benchmarks Index Score                                        3357.0

很多人就拿了3357那个分数去比了,但是上面那个单进程结果1362.9也有意义,但凡接触了这么多案例,没人关心过。多进程结果就是根据系统CPU核数,同时起多个进程的结果;单进程就是只起一个进程的结果,对于系统性能来说,两个结果都是有意义的。

话说回来,./Run 到底执行了什么?默认执行的是Index模块,它包含下面几个小程序:

    "dhry2reg", "whetstone-double", "execl","fstime", "fsbuffer", "fsdisk", "pipe", "context1", "spawn", "shell1", "shell8","syscall"

对应的就是上面的结果的各个结果对应的case了。
翻看了下它的源代码,它的执行参数如下:./Run 模块 -i 迭代次数 -c 进程并发数 -q/-v (输出方式。

  • 模块:有时候你只想测某一个小程序的结果,那你可以修改自己去新增一个模块,修改测试内容,这对于调试是非常方便的,也可以直接指定某个执行程序。
  • 迭代次数:关于迭代次数,不能想当然的就理解成这就是要执行的次数了,默认框架分为两种迭代模式,一种是短迭代次数,默认 3次,一种是 长迭代次数,默认10 次。那输入的迭代次数就是默认的长迭代次数,短迭代次数=(迭代次数+1)/3,如果结果小于就是1. 程序配置好了,该选择哪个迭代次数。
  • 进程并发数:如果你想进程并发数不是系统CPU数,那就可以通过这个调整;
  • 输出方式:是静默还是详细输出方式;

算分

每个小程序在执行的时候都需要指定迭代模式和执行时间以及并发情况,所有的进程一次执行的结果都是统一模式。

单进程算分:

下面是单进程的一个举例:

Process Creation -- 1 copy
==> "/opt/unixbench/UnixBench/pgms/spawn" 30 2>&1 >> "/opt/unixbench/UnixBench/results/VM_0_13_centos-2018-06-25-05.log"#### Pass 1# COUNT0: 247371 #分数
# COUNT1: 1 # timebase 程序写死
# COUNT2: lps # 测试项名称
# elapsed: 30.003119 # 耗时
# pid: 16803 # 进程ID
# status: 0 # 是否成功退出#### Pass 2# COUNT0: 242919
# COUNT1: 1
# COUNT2: lps
# elapsed: 30.002898
# pid: 5035
# status: 0#### Pass 3# COUNT0: 243989
# COUNT1: 1
# COUNT2: lps
# elapsed: 30.002732
# pid: 21228
# status: 0*Dump score:     242919.0
Count score:     243989.0
Count score:     247371.0>>>> Results of 1 copy
>>>> score: 8188.34084738901
>>>> time: 30.0029255
>>>> iterations: 2

其中COUNT0,COUNT1,COUNT2是这么算出来的,每个进程的结果如:

COUNT|x|y|x

经过解析,变成如下:

    COUNT0 = xCOUNT1 = yCOUNT2 = z

算分过程如下:

  1. 根据COUNT0从小到大,去掉 1/3 的最差结果;
  2. 如果timebase,耗时都是大于0, $product += log($COUNT0) - log(耗时/ $timebase) 否则就不需要考虑耗时这块: $product += log($COUNT0) 
  3. 单项性能分:$score = exp($product/2),2是统计的迭代次数,经过计算恰好是这个分数,与系统输出一致。
    它总的算法思想:就是先通过log降维,把不同次数不一样的结果尽可能拉平,平均然后在阶乘,后面多个结果也是这个思想,先降维,再平均,再阶乘。

多进程算分

那如果并发执行多个呢?举例如下:

Shell Scripts (1 concurrent) -- 4 copies
==> "/opt/unixbench/UnixBench/pgms/looper" 60 "/opt/unixbench/UnixBench/pgms/multi.sh" 1 2>&1 >> "/opt/unixbench/UnixBench/results/VM_0_13_centos-2018-06-25-05.log"#### Pass 1# COUNT0: 4614
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.005639
# pid: 20858
# status: 0# COUNT0: 4596
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.009496
# pid: 20859
# status: 0# COUNT0: 4592
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.011761
# pid: 20862
# status: 0# COUNT0: 4614
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.011930
# pid: 20864
# status: 0#### Pass 2# COUNT0: 4547
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.005597
# pid: 10791
# status: 0# COUNT0: 4590
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.013270
# pid: 10793
# status: 0# COUNT0: 4578
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.006054
# pid: 10794
# status: 0# COUNT0: 4561
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.014214
# pid: 10797
# status: 0#### Pass 3# COUNT0: 4631
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.013816
# pid: 31734
# status: 0# COUNT0: 4632
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.012614
# pid: 31735
# status: 0# COUNT0: 4637
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.005633
# pid: 31737
# status: 0# COUNT0: 4645
# COUNT1: 60
# COUNT2: lpm
# elapsed: 60.006082
# pid: 31740
# status: 0*Dump score:      18276.0
Count score:      18416.0
Count score:      18545.0>>>> Sum of 4 copies
>>>> score: 18477.4244713467
>>>> time: 60.009621375
>>>> iterations: 2

算分过程如下:

  1. 分数:如18545,就是PASS3个项的加总: 4631+4632+4637+4645
  2. 耗时:平均值,即:(60.013816+60.012614+60.005633+60.006082)/4=60.00953625
  3. timebase: 还是那个COUNT1
    上述3步即是把一个并发结果合成一个结果,然后的积分方式跟单进程的方式一样

总分

那文章开头多进程的图例分数举例:

  1. 算出来的每项score有个加权分数,要除以10(作为单项比拼,我觉得除不除10无所谓,估计是为了跟总分接近)
  2. 总分计算:=exp(average(每项score分*10)),结果恰恰好就是我们要的结果。

 


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TPC-C中跑赢Oracle的OceanBase,最近有何惊艳?

戳蓝字“CSDN云计算”关注我们哦!作者 | 晶少责编 | 阿秃出品 | CSDN云计算(ID:CSDNcloud)就在一年一度震撼人心的双11前夕,有消息称前段时间火爆到瞬间刷屏的OceanBase已经完成了Oracle模式的研发,助力银行…

CVE漏洞—PHPCMS2008 /type.php代码注入高危漏洞预警

11月4日,阿里云安全首次捕获PHPCMS 2008版本的/type.php远程GetShell 0day利用攻击,攻击者可以利用该漏洞远程植入webshell,导致文件篡改、数据泄漏、服务器被远程控制等一系列严重问题。建议受影响用户尽快升级到最新版本修复。 —————…

mysql分页概念_MySQL学习笔记之数据定义表约束,分页方法总结

本文实例讲述了MySQL学习笔记之数据定义表约束,分页方法。分享给大家供大家参考,具体如下:1. primary key 主键特点:主键是用于唯一标识一条记录的约束,一张表最多只能有一个主键,不能为空也不能重复create…

Centos7 开机启动汇总

CentOS 7上配置MySQL5.7开机自启动方法 centos7: vsftpd安装及启动: ftp配置 centos7 rabbitmq开机启动 systemctl enable rabbitmq-server.service

亚马逊计划明年推出云游戏服务,紧追微软谷歌;华为GaussDB数据库推出双分布式架构;腾讯擎天5G智慧灯杆助智慧城市服务升级……...

戳蓝字“CSDN云计算”关注我们哦!嗨,大家好,重磅君带来的【云重磅】特别栏目,如期而至,每周五第一时间为大家带来重磅新闻。把握技术风向标,了解行业应用与实践,就交给我重磅君吧!重…

万豪数据泄漏门再敲警钟 酒店集团7步安全建议

​​11月30日,万豪酒店官方发布消息称,多达5亿人次预订喜达屋酒店客人的详细个人信息可能遭到泄露。万豪国际在调查过程中了解到,自2014年起即存在第三方对喜达屋网络未经授权的访问,但公司直到2018年9月才第一次收到警报。 万豪…

MySQL工具名字_MySQL客户端工具及SQL讲解

1、用于数据库的连接管理#MySQL接口自带的命令\h 或 help 或? 查看帮助\G 格式化查看数据(key:value)\T 或 tee 记录日志\c(5.7可以ctrlc) 结束命令\s 或 status 查看状态信息\. 或 source 导入SQL数据 \u或 use 使用数据库\q 或 exit 或 quit 退出help命…

SpringBoot2.x整合quartz定时任务 快速入门

文章目录1. maven依赖2. QuartConfig配置文件3. 创建一个业务处理类UserService4. Job类 调用方法5. 手动将对象注入导视牌SringIOC容器类6. 启动类加注解1. maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-bo…

八年技术加持,性能提升10倍,阿里云HBase 2.0首发商用

阿里云HBase 2.0成长手记&#xff0c;含着金汤匙出身 HBase本身是一个分布式存储、数据库引擎&#xff0c;可以支持千万的QPS、PB级别的存储&#xff0c;这些都已经在生产环境验证&#xff0c;并且在阿里得以验证。 早在2010年开始&#xff0c;阿里巴巴集团开始研究并把HBase…

不得不看之跳槽加薪利器:2019需求最旺盛的十大IT技能

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 新技术 新商业责编&#xff5c;阿秃2018年岁末&#xff0c;中国互联网IT职场掀起一股裁员风暴&#xff0c;为所有的码农和IT专业人士敲响了警钟&#xff0c;要想职场顺风满帆&#xff0c;就应当及早预判热点&#xff0c;规划…

阿里云马劲:保证云产品持续拥有稳定性的实践和思考

对所有的技术人员来说&#xff0c;业务可靠性提升是一个系统工程&#xff0c;涉及网络管理、IDC管理、服务器管理、交付管理、变更管理、故障管理、监控管理、预案管理、根因分析、容量规划、容灾演练、标准化建设、集成测试、泛操作管理、权限管理、数据安全管理等方方面面&am…

(需求实战_终章) SpringBoot2.x 整合RabbitMQ

文章目录1. maven依赖2. MainConfig3. application.properties4. 发送字符串 生产者5. 发送对象 生产者6. 接收字符串客户端7. 接收对象客户端8.confirem 确认机制9. return确认机制10. MQ消息发送工具类封装11. 分布式id12. 时间工具类13. 对象1. maven依赖 <dependency>…

lnmp 修改mysql密码_Lnmp下修改mysql根密码

今天帮兄弟安装了一个新的lnmp环境&#xff0c;安装后才发现mysql的根密码不是兄弟想要的密码&#xff0c;如是在建站前把根密码快快改了。 首先登陆phpmyadmin&#xff0c;选择mysql数据库,之后选sql选项卡&#xff0c;输入如下代码到命令框&#xff0c;之后点右下角的执行按钮…

实战:基于 Spring 的应用配置如何迁移至阿里云应用配置管理 ACM

最近遇到一些开发者朋友&#xff0c;准备将原有的Java Spring的应用配置迁移到 阿里云应用配置管理 ACM 中。迁移过程中&#xff0c;遇到不少有趣的问题。本文将通过一个简单的样例来还原迁移过程中遇到的问题和相关解决思路&#xff0c;以期达到和读者交流的目的。 什么样的配…

华为豪投20亿!3年培养100万AI人才,网友不服!

近日&#xff0c;华为20亿奖励员工的新闻频频刷屏。其中20亿奖金不是面向所有的华为员工&#xff0c;20亿奖金包涉及到的是研发体系、造AI芯片和建设生态的员工。从5G开始部署以来&#xff0c;华为获得了来自全球各地运营商的订单&#xff0c;签订了40多个5G商用合同。另外华为…

mysql 5.7 hint_新特性解读 | MySQL 8.0 新增 HINT 模式

在开始演示之前&#xff0c;我们先介绍下两个概念。概念一&#xff0c;数据的可选择性基数&#xff0c;也就是常说的cardinality值。查询优化器在生成各种执行计划之前&#xff0c;得先从统计信息中取得相关数据&#xff0c;这样才能估算每步操作所涉及到的记录数&#xff0c;而…

RAM SSO功能重磅发布 —— 满足客户使用企业本地账号登录阿里云

阿里云RAM (Resource Access Management)为客户提供身份与访问控制管理服务。使用RAM&#xff0c;可以轻松创建并管理您的用户&#xff08;比如雇员、企业开发的应用程序&#xff09;&#xff0c;并控制用户对云资源的访问权限。 对云资源的信息安全保护与风险控制能力是企业成…

SpringBoot 整合Shiro Ehcache

文章目录依赖 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><mybatis.sprin…

SQLServer AlwaysOn在阿里云的前世今生

缘起 早在2015年的时候&#xff0c;随着阿里云业务突飞猛进的发展&#xff0c;SQLServer业务也积累了大批忠实客户&#xff0c;其中一些体量较大的客户在类似大促的业务高峰时RDS的单机规格&#xff08;规格是按照 内存CPUIOPS 一定比例分配&#xff0c;根据底层资源不同都会有…

构建企业数字化转型协同力有多难?青云发布workly.ai誓要解决这些棘手的问题!...

戳蓝字“CSDN云计算”关注我们哦&#xff01;相信大部分人都经历过办公中的手忙脚乱与无所适从&#xff0c;每天面对无数的任务与工作本就是一项挑战&#xff0c;而在办公中面对不同终端协同工具&#xff0c;所带来的那些令人头疼的密码、来不及回复的信息与邮件、繁琐的办公流…