写点什么

【性能测试工具 lmbench】快来测测你的系统可以打几分

作者:优麒麟
  • 2022 年 3 月 23 日
  • 本文字数:1708 字

    阅读完需:约 6 分钟

【性能测试工具lmbench】快来测测你的系统可以打几分

一个好的操作系统不仅仅依赖于系统基本功能趋于稳定,更取决于系统性能的好坏。系统性能测试是一个不断对系统施加压力的过程,在此过程中,不断发现系统性能指标和最大负载能力。性能测试工具很多,例如 Jmeter、loadrunner、stream、lmbench 等。本文将主要介绍性能测试工具 lmbench 在优麒麟系统上的使用。

lmbench 是一款评价系统综合性能的开源工具,它不仅简易、可移植性强,而且支持多种操作系统,例如 Unix、Linux 等。它提供了一个测试框架,当测试者对系统拥有更高的测试需求时,测试者能够通过修改对应部分的代码最终实现自己的测试目的。相比其他性能测试软件,lmbench 对于测试者来说更为方便。lmbench 主要对文件读写、进程创建销毁开销、网络建立、内存操作等性能进行测试。它主要衡量系统的两个关键特征,分别为反应时间和带宽。lmbench 在优麒麟系统上的下载、安装及使用方法如下所示。

1.首先在网上下载 lmbench 的 tar 安装包,其下载的官方网址为https://sourceforge.net/projects/lmbench/  ,大家可以根据自己的测试需求选择对应的下载版本,本文以下内容均以 x86 架构的 lmbench 3.0-a9 版本进行展开。下载安装包的相关内容如图 1 所示。


优麒麟


图 1:lmbench 下载网页

2.将下载的 lmbench 安装包解压到相应路径下,本文将其 tar 包解压至 Linux 系统中常用安装大型软件的安装目录下(/opt)。lmbench 安装包解压命令及解压情况如下所示。

将目录切换至 root 目录下:

sudo su
复制代码


lmbench 安装包解压至 /opt 下的命令:

tar xzvf lmbench-3.0-a9.tar.gz -C /opt
复制代码


优麒麟


图 2:解压 lmbench 的安装包

3.当系统的内存超过 16G 时,为了避免程序由于计算溢出而无法正常退出的现象产生,测试人员需要修改 lmbench 源代码中对应程序。即修改 /opt/lmbench-3.0-a9/src/ 目录下 lib_mem.c 文件中的 line_initialize 函数,将 int i, j, nlines, npages(第 367 行)更改为 long i, j, nlines, npages,即 int 型变量变为 long 型变量,扩大变量的取值范围。具体命令及修改位置如下所示:

切换目录命令:

cd /opt/lmbench-3.0-a9/src/
复制代码

修改命令:

vim lib_mem.c
复制代码


优麒麟


图 3:源代码修改位置

4.使用 make results 命令进行编译测试,在编译测试过程中,会对配置参数进行配置(例如 MULTIPLE COPIES,JOB placement selection,MB 等),从而生成相应的配置脚本。因此,后续的大量测试将直接根据配置脚本使用相同的配置参数进行测试。

SUBSET 参数设置的不同,lmbench 测试的测试项不同,但不会影响测试结果的大小。

SUBSET 共有 4 个可选参数,分别为 ALL,HARWARE,OS,DEVELOPMENT。

●  ALL 表示所有测试项均被测试;

●  HARWARE 表示只对数学运算,内存延时以及部分本地通讯带宽进行测试;

●  OS 表示对处理器 processor 性能,上下文切换,本地通讯延时,文件延时以及本地通讯带宽进行测试;

●  DEVELOPMENT 可选择对 SYSCALL,SELECT,SIGNAL 以及 PROCESS 等进行测试。

lmbench 编译命令及编译部分结果如下所示。

编译命令:

make results
复制代码


优麒麟


图 4:make results 编译结果展示

5.测试完成后,可以在 /opt/lmbench-3.0-a9/ 目录下使用 make see 命令生成 lmbench 测试结果报告,即 /results/summary.out 文件。

测试报告生成命令:

make see
复制代码

6.测试结果分析:

lmbench 的性能测试结果主要包括 8 大部分,分别为:系统基本参数(Basic system parameters)、处理器 processor 性能(Process)、数学运算(Basic integer operations、Basic uint64 operations、Basic float operations、Basic double operations)、上下文切换(Context switching)、本地通讯延时(Local Communication latencies)、文件与内存延迟(File & VM system latencies)、本地通讯带宽(Local Communication bandwidths)和内存操作延迟(Memory latencies)。

在 lmbench 测试中,各部分的测试结果评估标准不同。其中本地通讯带宽比较特殊,当它的测试结果值越大时,表示它的性能越好。其他部分的测试结果反之,即测试结果值越小,代表性能越好。lmbench 的 3 次部分测试结果如图 5 所示。


优麒麟


图 5  lmbench 部分测试结果

以上就是关于优麒麟系统上性能测试工具 lmbench 的使用内容,如果有任何问题或需要,可随时至优麒麟论坛留言。

用户头像

优麒麟

关注

优麒麟社区官方账号 2021.12.29 加入

主页地址:https://www.ubuntukylin.com/

评论

发布
暂无评论
【性能测试工具lmbench】快来测测你的系统可以打几分_Linux_优麒麟_InfoQ写作平台