性能测试工具lmbench,测测你的系统可以打几分

发表于:2022-5-11 08:53

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:优麒麟    来源:稀土掘金

分享:
  lmbench 是一款评价系统综合性能的开源工具,它不仅简易、可移植性强,而且支持多种操作系统,例如 Unix、Linux 等。它提供了一个测试框架,当测试者对系统拥有更高的测试需求时,测试者能够通过修改对应部分的代码最终实现自己的测试目的。相比其他性能测试软件,lmbench 对于测试者来说更为方便。lmbench 主要对文件读写、进程创建销毁开销、网络建立、内存操作等性能进行测试。它主要衡量系统的两个关键特征,分别为反应时间和带宽。lmbench 在优麒麟系统上的下载、安装及使用方法如下所示。
  1.首先在网上下载 lmbench 的 tar 安装包,其下载的官方网址为sourceforge.net/projects/lm…  ,大家可以根据自己的测试需求选择对应的下载版本,本文以下内容均以 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 部分测试结果

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号