只需一步,快速开始
微信登录,快人一步
手机号码,快捷登录
签到天数: 1050 天
连续签到: 1 天
[LV.10]测试总司令
飞腾2000+ (物理机和虚拟机) Intel Golden 6170 物理机 Intel Golden 5218 虚拟机 Gold 5218 CPU @ 2.30GHz 至强十年前的CPU E5-2620 物理机 E5-2630 v3 @ 2.40GHz 虚拟机 验证一下不同机器的最简单的性能数据.
第一步 下载UnixBench https://codeload.github.com/kdlu ... gz/refs/tags/v5.1.3 下载完后 该改名, 放到不同的机器里面 tar -zxvf unixbench-5.1.3.tar.gz cd byte-unixbench-5.1.3/UnixBench/ sed -i "s/GRAPHIC_TESTS = defined/#GRAPHIC_TESTS = defined/g" ./Makefile make 执行命令为: ./Run
Unixbench做了哪些性能测试 Dhrystone 2 using register variables 这里有比较详细的dhrystone介绍,这个主要是测整数性能,对应的浮点数测试是:Double-Precision Whetstone。 那绕开里面一坨计算,说下输出:默认就是在10秒内,那一坨计算能计算次数,算出分数后,参考前面篇UnixBench算分介绍,算出Index分数。 Double-Precision Whetstone 既然有整数运算的CPU性能,那么浮点数运算性能也希望有,于是就有了:whets.c Execl Throughput 除了前面介绍的那两个比较复杂,UnixBench其他的运算都比较简单,Execl它的实际就是递归调用,它主要利用的是execl函数。 本身execl.c编译出来后的执行文件是execl的二进制文件,execl函数执行的时候记录参数:开始时间,执行次数,耗时(一般都是10秒)。 当本次总执行时间耗时超过10秒时,输出执行次数,然后根据算分规则算分,这个思想还是很巧妙的。 File Copy 这个主要是测试的write和read两个函数,测试30秒。实现很简单,先写入一个文件2秒(循环写入),再读2秒, 然后从刚刚写入的文件读取数据,写入到另一个文件,循环写入,在30秒的读写次数。 不同的参数测试测的是不同块大小,不同块数的性能,如果测试磁盘建议用FIO测试。 Pipe Throughput 打开一个管道,往管道写入512个bytes,再读出来,测试10秒,总共读写次数 Pipe-based Context Switching 打开两个管道,开启两个进程,其中一个进程往管道1写,往管道2读,另一个进程往管道2写,往管道2读, 一个进程完成一次读写,计数+1。其中一个很有意思的事情:如果这两个进程在同一个CPU和不同的CPU有完全不同的性能, 在同一个CPU下性能会好很多。这里有篇很细致的分析,值得大家评阅:Unixbench 测试套件缺陷深度分析 Process Creation 就是不停调用fork函数,创建进程,并立马退出,成功一次计数+1。 Shell Scripts 通过fork函数,创建进程,不停地执行一个脚本, 执行成功一次+1. 所谓Shell Scripts (1 concurrent) 一个并发是指传递给脚本:pgms/multi.sh 参数是1, 同样Shell Scripts (8 concurrent) ,传递给脚本的参数是8,同时8个子任务并发执行。 System Call Overhead 本意是想计算进入离开操作系统的开销,进入离开一次计数+1, 在10秒内的执行次数. 实际执行的效果是fork子进程,waitpid函数后退出,计数+1
使用道具 举报
本版积分规则 发表回复 回帖后跳转到最后一页
查看 »
小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 ) 关于我们
GMT+8, 2024-11-26 02:27 , Processed in 0.062451 second(s), 23 queries .
Powered by Discuz! X3.2
© 2001-2024 Comsenz Inc.