Linux性能测试工具

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

在Linux Benchmark Suite Homepage网站上列举了诸多Linux性能测试工具,包括CPU/RAM/ROM/Cache/net等性能测试。

lmbench

测试工具

这个工具集中包含以下几种测试工具,我们主要使用到bw_mem工具进行Memory read和write测试。

  1. Bandwidth benchmarks(带宽测试)
  • Cached file read
  • Memory copy (bcopy)
  • Memory read
  • Memory write
  • Pipe
  • TCP
  1. Latency benchmarks(延时测试)
  • Context switching.
  • Networking: connection establishment, pipe, TCP, UDP, and RPC hot potato
  • File system creates and deletes.
  • Process creation.
  • Signal handling
  • System call overhead
  • Memory read latency
  1. Miscellanious
  • Processor clock rate calculation

交叉编译

  1. 从 How do I get LMbench? 或者从github下载源码;
  2. 设置交叉工具链和编译FLAG
    修改src/Makefile中的CC和EXFLAGS为:
CC=/home/imx8x/prebuilt/toolchains/aarch64-imx8x-linux/bin/aarch64-poky-linux-gcc
EXFLAGS=-static -march=armv8-a -mfpu=neon -mfloat-abi=hard -mtune=cortex-a35 -funroll-loops
  1. 编译
    使用make OS=arm-linux build编译。
    如果出现如下错误:
cd src && make
make[1]: Entering directory '/home/xxx/work2/util/lmbench3/src'
make[2]: Entering directory '/home/xxx/work2/util/lmbench3/src'
make[2]: *** No rule to make target '../SCCS/s.ChangeSet', needed by 'bk.ver'.  Stop.
make[2]: Leaving directory '/home/xxx/work2/util/lmbench3/src'
Makefile:117: recipe for target 'lmbench' failed
make[1]: *** [lmbench] Error 2
make[1]: Leaving directory '/home/xxx/work2/util/lmbench3/src'
Makefile:20: recipe for target 'build' failed
make: *** [build] Error 2

解决办法:

mkdir SCCS
cd SCCS
touch s.ChangeSet

上述编译好了之后,就可以在/bin/arm-linux/目录下生成可执行文件,关于各个可执行文件的用法,可以简要的参照:
lmbench1.0 manual pages
lmbench

memory性能测试
将bw_mem文件拷贝到板子上运行如下命令:

@android:/var # ./bw_mem 256M wr                                              
268.44 573.30
@android:/var # ./bw_mem 256M fwr                                             
268.44 3034.69
@android:/var # ./bw_mem 256M rd                                              
268.44 896.46
@android:/var # ./bw_mem 256M frd                                             
268.44 867.99

各个参数含义如下:

/*
* rd - 4 byte read, 32 byte stride
* wr - 4 byte write, 32 byte stride
* rdwr - 4 byte read followed by 4 byte write to same place, 32 byte stride
* cp - 4 byte read then 4 byte write to different place, 32 byte stride
* fwr - write every 4 byte word
* frd - read every 4 byte word
* fcp - copy every 4 byte word
* All tests do 512 byte chunks in a loop.                        
* XXX - do a 64bit version of this.
*/

输出结果为megabytes, megabytes_per_second。

参考资料
Lmbench-Ti
LMbench - Tools for Performance Analysis

STREAM

官方的说法是:

The STREAM benchmark is a simple synthetic benchmark program that measures sustainable memory bandwidth (in MB/s) and the corresponding computation rate for simple vector kernels.

翻译过来就是:
STREAM benchmark是一个简单的综合基准测试程序,用于测量可持续存储器带宽(以MB/s为单位)和简单矢量内核的相应计算速率。

交叉编译
1、下载源码

mkdir STREAM
cd STREAM
wget -r -R 'index*' -np -nH --cut-dirs=3 http://www.cs.virginia.edu/stream/FTP/Code/

2、指定交叉工具链:

CC=/home/xxx/work2/xxx/imx8x/prebuilt/toolchains/aarch64-imx8x-linux/bin/aarch64-poky-linux-gcc

在编译的时候,需要指定一些参数,这些参数对结果影响很大,建议直接查看stream.c源文件。

3、编译c语言版本的工具make stream_c.exe,生成stream_c.exe可执行文件。

4、执行结果为:

@android:/var # ./stream_c.exe                                                
-------------------------------------------------------------
STREAM version $Revision: 5.10 $
-------------------------------------------------------------
This system uses 8 bytes per array element.
-------------------------------------------------------------
Array size = 10000000 (elements), Offset = 0 (elements)
Memory per array = 76.3 MiB (= 0.1 GiB).
Total memory required = 228.9 MiB (= 0.2 GiB).
Each kernel will be executed 10 times.
The *best* time for each kernel (excluding the first iteration)
will be used to compute the reported bandwidth.
-------------------------------------------------------------
Your clock granularity/precision appears to be 1 microseconds.
Each test below will take on the order of 134214 microseconds.
   (= 134214 clock ticks)
Increase the size of the arrays if this shows that
you are not getting at least 20 clock ticks per test.
-------------------------------------------------------------
WARNING -- The above is only a rough guideline.
For best results, please be sure you know the
precision of your system timer.
-------------------------------------------------------------
Function    Best Rate MB/s  Avg time     Min time     Max time
Copy:            1731.3     0.106711     0.092416     0.125942
Scale:           1294.3     0.140618     0.123622     0.164197
Add:             1107.7     0.232000     0.216672     0.263167
Triad:            991.0     0.252958     0.242168     0.276101
-------------------------------------------------------------
Solution Validates: avg error less than 1.000000e-13 on all three arrays
-------------------------------------------------------------

目前还不知道这个结果都是些什么,与上文的lmbench的bw_mem工具差异蛮的的,有待后续研究。

STREAM参考资料如下:
STREAM: Sustainable Memory Bandwidth in High Performance Computers
What is STREAM
stream gitlab文章来源地址https://www.toymoban.com/news/detail-401204.html

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

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

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

相关文章

  • 【网络安全】渗透测试工具——Burp Suite

    文章较长,看之前建议先了解以下四个问题 问题一、Burp Suite是什么? Burp Suite是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击。 在渗透测试中,我们使用Burp Suite将使得测试工作变得更加快捷高效

    2024年02月16日
    浏览(50)
  • Linux之网络性能测试工具netperf实践

      Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送

    2024年02月01日
    浏览(34)
  • Linux环境安装iperf3(网络性能测试工具)

    iperf官网地址: iPerf - The TCP, UDP and SCTP network bandwidth measurement tool   iperf特性: 测量带宽 报告MSS/MTU大小和观察到的读数大小。 通过套接字缓冲区支持TCP窗口大小。 UDP 客户端可以创建指定带宽的UDP流。 测量数据包丢失 测量延迟抖动 支持多播 跨平台:Windows、Linux、Android、

    2024年02月03日
    浏览(41)
  • Linux性能测试工具 stress,stress-ng,sysbench,fio以及检测dstat

    通过man帮助,可以看到官方对dstat的定义为:多功能系统资源统计生成工具( versatile tool for generating system resource statistics)。在获取的信息上有点类似于top、free、iostat、vmstat等多个工具的合集,官方解释为vmstat、iostat、ifstat等工具的多功能替代品,且添加了许多额外的功能(

    2024年02月05日
    浏览(43)
  • 【工具/性能】开源的性能测试工具sysbench

    sysbensh是一个非常通用的benchmark工具,其提供多种方面的测试: cpu :提供一个简单的cpu benchmark测试 fileio:文件磁盘io的benchmark测试 memory:内存访问 benchmark测试 thread:线程调度 benchmark测试 mutex:POSIX的锁 benchmark测试 OLTP:数据库 benchmark测试,支持MySQL,Pgsql 默认支持MySQL,如

    2024年02月12日
    浏览(45)
  • H5性能测试以及H5性能测试工具

    背景由于公司最近项目有一个H5测试项目,功能测试不用多说,但是H5性能测试是一个大难题,于是研究下H5性能测试,下面总结下,希望能帮助自己回顾项目也希望能帮到测友。 H5性能测试的常用指标: 白屏时间:用户首次看到网页内容的时间,即第一次渲染流程完成的时间

    2024年02月14日
    浏览(59)
  • 前端性能测试必备测试工具

    我们在使用网站过程中,经常会遇到慢的问题,为了找到原因,一般需要借助工具进行检测,通过工具,可以检测出前端站点加载资源的相关详细情况。 今天,就给大家介绍几款前端性能测试分析工具,结合性能测试工具,实现通过量化的方式测试网站中诸如首字节加载时间

    2024年02月05日
    浏览(50)
  • 功能测试(八)—— APP之专项测试、性能测试、性能测试工具SoloPi

    目录 APP测试要点 目标 一、APP专项测试 1.1 兼容性 1.2 安装 1.3 卸载 1.4 升级 1.5 干扰测试(交叉事件测试) 1.6 Push推送 1.7 用户体验 二、 性能测试工具 2.1 APP性能测试工具介绍 —— SoloPi简介 2.2 APP性能测试工具 —— SoloPi使用 三、APP性能测试 3.1 CPU 3.2 内存 3.3 流量 3.4 电

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

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

    2024年02月10日
    浏览(64)
  • 扒开源安卓性能测试工具moblieperf源码——开发属于你自己的性能稳定性测试工具

    moblieperf由阿里巴巴开源的Android性能测试工具 下载:官方源码地址 mobileperf github 使用: 使用pycharm打开下载的项目 使用只需要修改配置文件 config.conf 即可 运行采集:a.mac、linux 在mobileperf工具根目录下执行sh run.sh ; b.windows 双击run.bat 配置图:(简单使用只需要修改包名和设

    2024年02月19日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包