一.PTS安装
1. 从官网下载官方的deb包
(http://www.phoronix-test-suite.com/?k=downloads)
2. 通过dpkg命令进行安装,安装之后会有依赖问题,一般通过sudo apt-get install -f命令可以解决
3. 执行which phoronix-test-suit输出为/usr/bin/phoronix-test-suite,则安装成功。
二..phoronix-test-suite文件夹介绍
2.1 生成.phoronix-test-suite目录
执行命令phoronix-test-suite gui,会生成.phoronix-test-suite目录
2.2 .phoronix-test-suite包含目录及文件
序号 | 类型 | 名称 | 功能 |
1 | 目录 | download-cache | 未知,空 |
2 | 目录 | modules | 未知,空 |
3 | 目录 | modules-data | 未知,空 |
4 | 目录 | test-suites | 未知,空 |
5 | 目录 | xsl | 未知,有数据 |
6 | 目录 | openbenchmarking.org | zip文件,控制文件 |
7 | 目录 | test-profiles | 通过上面zip文件解压得来 |
8 | 目录 | test-results | 测试结果 |
9 | 目录 | installed-tests | 安装工具目录 |
10 | 文件 | graph-config.json | html结果文件配置 |
11 | 文件 | user-config.xml | 用户配置 |
2.3 openbenchmarking.org目录介绍
包含三个文件夹:local,pts,system。以及两个文件:pts.index,system.index。这里重点介绍pts文件夹和pts.index文件。
pts文件夹:其中包含很多zip文件。每一个zip文件对应一个测试工具,解压开通常会有四个文件(有些多几个文件),这里以netperf为例,包括:downloads.xml,install.sh,test-definition.xml,results-definition.xml。
这四个文件简单点来说:下载,安装,执行命令格式及参数,最后结果生成的格式。 downloads.xml:代表下载文件,其中指示了netperf工具下载的网址、MD5值、工具大小等。 install.sh:安装方法,在执行phoronix-test-suite install netperf的时候会执行这个脚本,这个脚本中包括解压安装netperf和执行(phoronix-test-suite run netperf)命令时对应的测试netperf命令有关。 test-definition.xml:其中包括工具名称、描述、版本、支持平台、测试时间以及执行(phoronix-test-suite run netperf)时和用户交互设置netperf参数。 results-definition.xml:对应结果输出的格式,这个文件目前没有官方文档说明,只能猜其中意思。 |
pts.index文件:想移植自己的工具进去,这是一个关键的文件。因为通过命令phoronix-test-suite list-tests查找,根据实验应该时识别的这个文件,但是每当联网的时候,执行上述命令就会上网更新这个文件,所以说在修改这个文件之后需要断开网络,再执行phoronix-test-suite list-tests,就可以看到自己的工具了。就可以通过phoronix-test-suite install命令进行安装,不然就算在文件中添加,也会表示识别不到这个工具。
如何修改文件,根据文件格式添加unixbench说明:
"unixbench":{"title":"unixbench","description":"lzlzlzlzlzlzlzlz","test_type":"Processor","software_type":"Utility","status":"Verified","supported_platforms":["Linux"],"internal_tags":[],"test_extends":"","package_hash":null,"average_run_time":"396","last_updated":"1520174749","popularity":"53","versions":["1.0.1","1.0.0"]}, |
2.4 test-profiles目录
test-profiles目录:据我的猜测就是通过上面所说的zip文件解压而来,每个工具对应一个目录。应该是再执行命令phoronix-test-suite gui后,下载zip,解压放到 test-profiles目录中。再移植自己工具时,我们就不需要提供zip,只需要提供工具对应的上述四个文件到test-profiles中。
2.5 test-results目录
根据文件results-definition.xml输出对应的结果,由于没有官方说明,目前这个文件没有吃透,导致最后一步输出有很大的困难。
2.6 installed-tests目录
执行phoronix-test-suite installed XXX,会安装工具到这个目录中,再installed-tests/pts/下面每一个工具对应一个目录。举例Netperf,执行phoronix-test-suite installed netperf命令,之后他会根据install.sh安装,生成installed-tests/pts/netperf目录和netperf脚本,这个脚本就是再phoronix-test-suite run netperf执行的时候调用的。
三.移植unixbench
经过上面的分析以及了解,开始移植工作,总结几个步骤:
1. 修改installed-tests/pts 2. 修改test-profiles/pts 3. 修改openbenchmarking.org/pts.index 4. 断网,执行phoronix-test-suite list-tests |
3.1 修改installed-tests/pts
1. 新建installed-tests/pts/unixbench。下载unixbench5.1.3.tgz放入。
2. 注意必须是小写字母、数字组成。最好unixbench5.1.3.tgz里面文件夹带有版本号。
3.2 修改test-profiles/pts
新建test-profiles/pts/unixbench,在其中添加四个文件:downloads.xml,install.sh,test-definition.xml,results-definition.xml。
3.3 修改openbenchmarking.org/pts.index
添加unixbench对应格式的说明。确保pts能够识别到工具,这样才能安装。
3.4 测试安装
1. 断网,执行phoronix-test-suite list-tests,应该就可以看到pts/unixbench。
2. phoronix-test-suite run unixbench,显示安装没有报错,则移植成功。
四.命令介绍
4.1 安装命令
phoronix-test-suite installed pts/unixbench
安装完PTS这款工具之后,我们第一步是下载对应的工具进行测试,当然如果没有联网,也是可以安装成功的,只需要新建installed-tests/pts/unixbench,下载unixbench5.1.3.tgz放入,这个方法是能够移植其他pts没有工具的基础。按照我的理解,执行命令时首先会查看installed-tests/pts/unixbench目录下有没有对应安装包,如果有则按照install.sh进行安装,如果没有则根据downloads.xml文件进行下载,再根据install.sh进行安装。
通过install.sh安装完成之后,还会根据install.sh脚本生成对应工具的测试方法。对应的测试方法就会放在installed-tests/pts/unixbench里面,一般就是以工具命名的一个脚本。
4.2 查看命令
phoronix-test-suite list-tests
上面移植的时候存在一个问题,当我们新建installed-tests/pts/unixbench。下载unixbench5.1.3.tgz放入,怎么知道pts是否识别到呢。这时我们需要修改openbenchmarking.org/pts.index,根据文件中的格式,添加对unixbench的支持,这里就不具体介绍格式了。之后就可以通过上述命令查看到自己添加的工具了。
4.3 执行命令
phoronix-test-suite run pts/unixbench
通过上述两个步骤安装完成之后,我们需要进行测试,这时pts会根据安装时生成的脚本和test-definition.xml文件进行测试,生成脚本为测试主体,而test-definition.xml文件主要是输入命令参数。当命令执行成功之后,就会根据results-definition.xml生成对应的结果。
欢迎大家多多交流。
本文为个人原创,转发请标明出处,感谢!