性能测试工具 Lmbench 的使用方法以及解析运行结果

这篇具有很好参考价值的文章主要介绍了性能测试工具 Lmbench 的使用方法以及解析运行结果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Lmbench 简介

Lmbench 是一款简易可以移植的内存测试工具,其主要功能有,带宽测评(读取缓存文件、拷贝内存、读/写内存、管道、TCP),延时测评(上下文切换、网络、文件系统的建立和删除、进程创建、信号处理、上层系统调用、内存读入反应时间)等功能。

2. 下载和安装

官网地址:http://www.bitmover.com/lmbench/
下载连接:lmbench-3.0

imaginemiracle:Downloads$ unzip lmbench-3.0-a9.zip

需要注意的是,目前解压出的 lmbench 中所有文件都不可被执行,当直接执行 make 编译后将会看到类似有 Permission denied 等一系列错误。

这里首先需要更改所有文件的权限:

imaginemiracle:Downloads$ sudo chmod 777 -R lmbench-3.0-a9/

进入 lmbench 目录,其目录结构如下。

imaginemiracle:Downloads$ cd lmbench-3.0-a9/
imaginemiracle:lmbench-3.0-a9$ ls
ACKNOWLEDGEMENTS  CHANGES    COPYING    doc              Makefile  results  src
bin               ChangeSet  COPYING-2  hbench-REBUTTAL  README    scripts

3. 使用 Lmbench 测试

执行 make results,执行后将会有以下选项提示需要设置:

  • MULTIPLE COPIES: 同时运行并行测试,对应生成结果中的 scal load 项;
  • Job placement selection: 作业调度控制方法,默认选 1,表示允许作业调度;
  • Options to control job placement: 默认选 1
  • Memory: 设置为大于 4 倍的 cache size,该值越大结果越精确,同时运行时间越长;
  • SUBSET: 要运行的子集,包含 ALL / HARWARE / OS / DEVELOPMENT,默认选 all
  • FASTMEM、SLOWFS、DISKS、REMOTE… 等选项,均保持默认即可。

设置完成后测试程序开始运行,需要注意运行时间较久,需耐心等待,或先做其他事情至少 10 min 后再看。

4. 查看结果

执行 make see 查看运行结果,若只出现两行命令,显示运行结果输出到了 summary.out 文件中,则直接查看该文件即可。cat ./results/summary.out
将会看到如下输出:

性能测试工具 Lmbench 的使用方法以及解析运行结果

4.1. 系统基本信息

输出结果中开始显示系统的基本参数信息。
性能测试工具 Lmbench 的使用方法以及解析运行结果
其中:

  • tlb: 表示转换后备缓存的页面数;
  • cache line bytes: 高速缓存行字节数
  • mem par: 存储器分层并行化;
  • scal load: 并行执行的 Lmbench 数目。

4.2. 处理器 Processor 性能

如下输出结果单位均为 us,数值越小表示性能越好。
性能测试工具 Lmbench 的使用方法以及解析运行结果

  • null call: 执行 getppid 需要的时间;
  • null I/O:/dev/zero 读取一个字节的时长 t1,写一个字节到 /dev/null 的时长 t2t1、t2 取平均值即为该项结果;
  • stat: stat 一个文件(即得到一个文件的信息)所需时长;
  • open clos: open 一个文件接着再 close 掉该文件一共所用时间(不包含读目录和节点的时间);
  • slct TCP: 通过 TCP 网络连接选择 100 个文件描述符所消耗的时间;
  • sig inst: install signal 所耗时长;
  • sig hndl: handler signal 所耗时长;
  • fork proc: fork 一个完全相同的 process,并把原来的 process 关掉一共所消耗的时间;
  • exec proc: 模拟一个 shell 进程的工作过程:fork 一个新进程执行新命令消耗的时间。
  • sh proc: fork 一个进程,同时询问系统 shell 来找到并运行一个新程序所用时间。

4.3. 数学运算

如下输出结果单位均为 ns,数值越小表示性能越好。

(1) 整型计算

性能测试工具 Lmbench 的使用方法以及解析运行结果
(2) 无符号整型计算

性能测试工具 Lmbench 的使用方法以及解析运行结果
(3) 浮点型计算

性能测试工具 Lmbench 的使用方法以及解析运行结果
(4) 双精度浮点型计算

性能测试工具 Lmbench 的使用方法以及解析运行结果

4.4. 上下文切换

如下输出结果单位均为 us,数值越小表示性能越好。

性能测试工具 Lmbench 的使用方法以及解析运行结果
多个进程用 unix pipe 环连接起来,每个进程从自己的管道中读取 token,执行任务,然后将 token 写给下一个进程。

context swithing 时间包括:切换进程的时间,加上恢复进程所有状态所用的时间(包含恢复 cache 状态)。

  • 2p/0k: 每个进程的 size0(不执行任何任务),进程数为 2 时上下文切换所消耗的时间;
  • 2p/16k: 每个进程 size16K(执行任务),进程数为 2 时上下文切换所消耗的时间;

之后的测试项以此类推。

4.5. 本地通讯时延

如下输出结果单位均为 us,数值越小表示性能越好。

性能测试工具 Lmbench 的使用方法以及解析运行结果

  • 2p/0k: 每个进程的 size0(不执行任何任务),进程数为 2 时上下文切换所消耗的时间;
  • Pipe: 即所谓的 hot potato 测试,两个没有具体任务的进程之间使用 pipe 通信,一个 token 在两个进程间来回传递,传递一个来回所消耗时长的平均值;
  • AF UNIX:Pipe 测试项,但进程间通信使用的是 socket 通信;
  • UDP:Pipe 测试项,但进程间通信使用的是 UDP/IP 通信;
  • RPC/UDP:Pipe 测试项,但进程间通信使用的是 sun RPC 通信,默认情况下,RPC 采用 UDP 协议传输;
  • TCP:Pipe 测试项,但进程间通信使用的是 TCP/IP 通信;
  • RPC/TCP:Pipe 测试项,但进程间通信使用的是 sun RPC 通信,指定 RPC 采用 TCP 协议传输;
  • TCP conn: 创建 socket 描述符和建立连接所用时间。

4.6. 文件、内存延时

如下输出结果单位均为 us,数值越小表示性能越好。

性能测试工具 Lmbench 的使用方法以及解析运行结果

  • 0K File Create: 0K 文件创建所用时间;
  • 0K File Delete: 0K 文件删除所用时间;
  • 10K File Create: 10K 文件创建所用时间;
  • 10K File Delete: 10K 文件删除所用时间;
  • Mmap Latency: 将指定文件的开头 n 个字节 mmap 到内存,然后 unmap,并记录每次 mmapunmap 共消耗的时间,去每次消耗时间的最大值;
  • Port Fault: 保护页延时时间;
  • Page Faule: 缺页延时时间;
  • 100fd selct:100 个文件描述符配置 select 的时间。

4.7. 本地通信带宽

如下输出结果单位均为 MB/s,数值越大表示性能越好。

性能测试工具 Lmbench 的使用方法以及解析运行结果

  • Pipe: 在两个进程建立 pipepipe 的每个 chunk64K,通过该管道移动 50MB 数据所消耗的时间;
  • AF UNIX: 两个进程之间建立 unix stream socket 连接,每个 chunk64K,通过该 socket 传输 10MB 数据所用的时间;
  • TCP:Pipe 测试项,但进程间使用 TCP/IP socket 通信,传输数据量为 3MB
  • File reread: 读文件并将其汇总一起所用的时间;
  • Mmap reread: 将文件 mmap 到内存中,从内存中读文件并将其汇总一起所用时间;
  • Bcopy(libc): do bw_mem $i bcopy,从指定内存区域拷贝指定数量的字节内容到另一个指定内存区域的速度;
  • Bcopy(hand): do bw_mem %i fcp,把数据从磁盘的一个位置拷贝到另一个位置所用的时间;
  • Mem read: bw_mem $i frd,累加数组中的整数值,测试把数据读入 processor 的带宽;
  • Mem write: do bw_mem $i fwr,把整数数组的每个成员设置为 1,测试写数据到内存的带宽。

4.8. 内存操作延时

如下输出结果单位均为 ns,数值越小表示性能越好。

性能测试工具 Lmbench 的使用方法以及解析运行结果
本地测试执行 lat_mem_rd,将整数数组中每第 4 个元素的值累加起来;测试的是读数据到 processor 的带宽。文章来源地址https://www.toymoban.com/news/detail-417164.html

  • L1: 缓存1
  • L2: 缓存2
  • Main Mem: 连续内存
  • Rand Mem: 内存随机访问延时
  • Guesses:
    假如 L1L2 近似,会显示 “No L1 cache?”
    假如 L2Main Mem 近似,会显示 “No L2 cache?”

到了这里,关于性能测试工具 Lmbench 的使用方法以及解析运行结果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器能效测试工具BenchSEE使用方法简介

    BenchSEE是由中国标准化研究院开发的一款针对 服务器产品能效 测试的基准软件。BenchSEE基准的设计参考了全球众多服务器厂家、芯片厂家、能效认证机构和IT节能领域科研机构的意见,旨在满足服务器市场应用对能效测评的需求。BenchSEE基准负载工具支持的服务器类型包括:机

    2024年03月16日
    浏览(234)
  • 自动化测试工具 AirTest 的使用方法与简介

    目录         前言: Airtest简介 1.基于图像识别的Airtest框架 2.基于UI识别的Poco框架 Airtest环境搭建 Airtest布局 Airtest使用步骤 第一步:连接移动设备 第二步:创建一个.air文件(也就是我们的测试脚本) 第三步:用Airtest辅助窗口编辑第一个测试脚本 第四步:引入Poco Airtest常用

    2024年02月10日
    浏览(61)
  • 自动化测试工具 —— selenium介绍及基本使用方法

    Selenium是一个开源、免费、简单、灵活,对Web浏览器支持良好的自动化测试工具,在UI自动化、爬虫等场景下是十分实用的,能够熟练掌握并使用Selenium工具可以大大的提高效率。 Selenium简介 Selenium支持多平台、多浏览器、多语言去实现自动化测试,是一个开源和可移植的Web测

    2024年02月05日
    浏览(67)
  • 【APP渗透测试】Android APK常用测试工具(Drozer)安装及使用方法介绍

    本篇文章主要介绍 Drozer Android测试工具的安装以及简单使用,后续会持续更新更多使用方法。 Drozer 是 MWR Labs 开发的一款Android安全测试框架。是目前最好的Android安全测试工具之一。其官方文档说道: Drozer允许你一个普通Android应用的身份与其他应用和操作系统交互。 在Web世界

    2024年02月16日
    浏览(45)
  • 【十年网络安全工程师整理】—100渗透测试工具使用方法介绍

     渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对 某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告, 并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告, 可以清晰知晓系统中存在的安

    2024年02月02日
    浏览(48)
  • 使用PostMan工具进行接口测试时传递Map类型参数的方法

    Step 1: 设置Header Step 2: 设置参数体 以json格式写好数据 Step 3:Controller层方法体参数设置 测试结果:

    2024年02月16日
    浏览(56)
  • 自动化测试工具Selenium的基本使用方法,面试字节跳动的前端工程师该怎么准备

    8.小结 上述均可以改写成find_element(By.ID,‘kw’)的形式 find_elements_by_xxx的形式是查找到多个元素,结果为列表 import time from selenium import webdriver#驱动浏览器 from selenium.webdriver import ActionChains #滑动 from selenium.webdriver.common.by import By #选择器 from selenium.webdriver.common.by import By #按照什

    2024年04月16日
    浏览(45)
  • 性能测试工具 IxChariot:Tcl脚本调用方法介绍

    ixChariot是一款功能强大的性能测试软件,可用来测试有线和无线性能,可以模拟真实应用程序流量,并提供关键性能指标,包括吞吐量、丢包、抖动、延迟、MOS等。本文简单介绍如何使用IxChariot Tcl API来实现自动化跑流。 一个基本的IxChariot测试网络主要包括三个部分: IxCha

    2024年02月08日
    浏览(162)
  • jmeter 性能测试工具的使用(Web性能测试)

    1、下载 该软件不用安装,直接解压打开即可使用。 2、使用 这里就在win下进行,图形界面较为方便 在目录apache-jmeter-2.13bin 下可以见到一个jmeter.bat文件,双击此文件,即看到JMeter控制面板。主界面如下: 3、创建线程组 测试计划--右键——》添加——》hreads——》线程组 设

    2024年02月10日
    浏览(66)
  • 数据仓库性能测试方法论与工具集

    目录 目录 数据仓库 v.s. 传统数据库 数据仓库性能测试案例 性能指标 测试方案 测试场景 测试数据集 测试用例 性能指标 测试脚本工具 基准环境准备 硬件环境 软件环境 测试操作步骤 Cloudwave 执行步骤 导入数据集 TestCase 1. 执行 13 条标准 SQL 测试语句 TestCase 2. 执行多表联合

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包