当前位置: 首页 > news >正文

Linux性能测试简介

文章目录

    • cpu测试
      • unixbench
      • stress
      • sysbench
      • SpecCPU2006
      • SPECjbb2015
      • Super PI
    • 内存测试
      • lmbench3
      • Memtest86+
      • stress
      • stream
    • 磁盘/文件系统测试
      • hdparm
      • dd
      • fio
      • iozone
      • bonnie++
      • bonnie
      • sysbench
    • 网络测试
      • iperf
      • netperf
      • netio
      • SCP
    • 图形测试
      • glxgears 锯齿测试
      • glmark2
      • Unigine Benchmark
      • x11perf
    • 参考

本文对Linux下性能测试的不同方面和各自的工具做一个简单的介绍。

cpu测试

unixbench

UnixBench(即曾经的BYTE基准测试)为类UNIX系统提供了基础的衡量指标,其官方主页为http://code.google.com/p/byte-unixbench。它并不是专门测试CPU的基准测试,而是测试了系统的许多方面,它的测试结果不仅会受系统的CPU、内存、磁盘等硬件的影响,也会受操作系统、程序库、编译器等软件系统的影响。UnixBench中包含了许多测试用例,如文件复制、管道的吞吐量、上下文切换、进程创建、系统调用、基本的2D和3D图形测试,等等。

stress

sysbench

SysBench是一个模块化的、跨平台的、支持多线程的基准测试工具,它主要评估的是系统在模拟的高压力的数据库应用中的性能,其官方主页为http://sysbench.sourceforge.net。其实,SysBench并不是一个完全CPU密集型的基准测试,它主要衡量了CPU调度器、内存分配和访问、文件系统I/O操作、线程创建等多方面的性能。

SpecCPU2006

SPECjbb2015

Super PI

内存测试

lmbench3

LMbench是一个使用GNU GPL许可证发布的免费和开源的自由软件,可以运行在类UNIX系统中,以便比较它们的性能,其官方网址是:http://www.bitmover.com/lmbench。
LMbench是一个用于评价系统综合性能的可移植性良好的基准测试工具套件,它主要关注两个方面:带宽(bandwidth)和延迟(latency)。LMbench中包含了很多简单的基准测试,它覆盖了文档读写、内存操作、管道、系统调用、上下文切换、进程创建和销毁、网络等多方面的性能测试。
另外,LMbench能够对同级别的系统进行比较测试,反映不同系统的优劣势,通过选择不同的库函数我们就能够比较库函数的性能。更为重要的是,作为一个开源软件,IMbench提供一个测试框架,假如测试者对测试项目有更高的测试需要,能够修改少量的源代码就达到目的(比如现在只能评测进程创建、终止的性能和进程转换的开销,通过修改部分代码即可实现线程级别的性能测试)。

Memtest86+

Memtest86+是基于由Chris Brady所写的著名的Memtest86改写的一款内存检测工具,其官方网址为:http://www.memtest.org。该软件的目标是提供一个可靠的软件工具,进行内存故障检测。Memtest86+同Memtest86一样是基于GNU GPL许可证进行开发和发布的,它也是免费和开源的。
Memtest86+对内存的测试不依赖于操作系统,它提供了一个可启动文件镜像(如ISO格式的镜像文件),将其烧录到软盘、光盘或U盘中,然后启动系统时就从软驱、光驱或U盘中的Memtest86+启动,之后就可以对系统的内存进行测试。在运行Memtest86+时,操作系统都还没有启动,所以此时的内存基本上是未使用状态(除了BIOS等可能占用了小部分内存)。一些高端计算机主板甚至将Mestest86+默认集成到BIOS中。

stress

stream

STREAM是一个用于衡量系统在运行一些简单矢量计算内核时能达到的最大内存带宽和相应的计算速度的基准测试程序,其官方网址为:http://www.cs.virginia.edu/stream。STREAM可以运行在DOS、Windows、Linux等系统上。另外,STREAM的作者还开发了对STREAM进行扩充和功能增强的工具STREAM2,可以参考其主页:http://www.cs.virginia.edu/stream/stream2。

磁盘/文件系统测试

hdparm

hdparm是一个用于获取和设置SATA和IDE设备参数的工具。

dd

fio

fio是一个被广泛使用的进行磁盘性能及压力测试的工具。它功能强大而灵活,可以用它定义(模拟)出各种工作负载(workload),模拟真实使用场景,以更准确地衡量磁盘的性能。除了测试磁盘读写的带宽以外,它还统计IOPS并且以不同的延迟时间分布表示;除了总的延迟时间,它还分别统计I/O递交的时间延迟和I/O完成的时间延迟。
fio的主页是:http://git.kernel.dk/?p=fio.git;a=summary。它可以运行在Linux、UNIX、Windows等多个操作系统平台上,多数Linux发行版也包含它的安装包。

iozone

bonnie++

Bonnie++是以Bonnie 的代码为基础编写而成的软件,它使用一系列对硬盘驱动器和文件系统的简单测试来衡量其性能。Bonnie++可以模拟像数据库那样去访问一个单一的大文件,也可以模拟像Squid那样创建、读取和删除许许多多的小文件。它可以实现有序地读写一个文件,也可以随机地查找一个文件中的某个部分,而且支持按字符方式和按块方式读写。

bonnie

sysbench

网络测试

iperf

Iperf是一个常用的网络性能测试工具,它是用C++编写的跨平台的开源软件,可以在Linux、UNIX和Windows系统上运行,其项目主页是:http://sourceforge.net/projects/iperf。
Iperf支持TCP和UDP的数据流模式的测试,用于衡量其吞吐量。与Netperf类似,Iperf也实现了客户机/服务器模式,Iperf有一个客户端和一个服务端,可以测量两端的单向和双向数据吞吐量。当使用TCP功能时,Iperf测量有效载荷的吞吐带宽;当使用UDP功能时,Iperf允许用户自定义数据包大小,并最终提供一个数据包吞吐量值和丢包值。另外,有一个项目叫Iperf3(项目主页为http://code.google.com/p/iperf),它完全重新实现了Iperf,其目的是使用更小、更简单的源代码来实现相同的功能,同时也开发了可用于其他程序的一个函数库。

netperf

Netperf是由HP公司开发的一个网络性能基准测试工具,它是非常流行网络性能测试工具,其官方主页是http://www.netperf.org/netperf。

netio

netio也是个跨平台的、源代码公开的网络性能测试工具,它支持UNIX、Linux和Windows平台,其作者关于NETIO的主页是:http://www.ars.de/ars/ars.nsf/docs/netio。NETIO也是基于客户机/服务器的架构,它可以使用不同大小的数据报文来测试TCP和UDP网络连接的吞吐量。

SCP

SCP是Linux系统上最常用的远程文件复制程序,它可以作为实际的应用来测试网络传输的效率。用SCP远程传输同等大小的一个文件,根据其花费时间的长短可以粗略评估出网络性能的好坏。

图形测试

glxgears 锯齿测试

glmark2

Unigine Benchmark

x11perf

参考

KVM实战:原理、进阶与性能调优

http://www.lryc.cn/news/513461.html

相关文章:

  • Kile5支持包的安装
  • 【Ubuntu 系统 之 开启远程桌面SSH登录】
  • MySQL 索引分类及区别与特点
  • 对中文乱码的理解,遇到乱码该怎么办。
  • 《机器学习》从入门到实战——逻辑回归
  • svn不能添加.a文件
  • 23.Java 时间日期扩展(新时间日期、新时间日期格式化与解析、时间戳、计算时间日期差、时间矫正器、时区)
  • C语言渗透和好网站
  • mysql系列7—Innodb的redolog
  • 静态时序分析:线负载模型的选择机制
  • git 中 工作目录 和 暂存区 的区别理解
  • C++ 变量:深入理解与应用
  • http报头解析
  • 数据库的概念和操作
  • 《XML Schema 字符串数据类型》
  • idea 开发Gradle 项目
  • Keepalived + LVS 搭建高可用负载均衡及支持 Websocket 长连接
  • 产品经理2025年展望
  • 【信息系统项目管理师】第14章:项目沟通管理过程详解
  • 串口DMA接收数据基本思路
  • 数据结构复习 (二叉查找树,高度平衡树AVL)
  • FreeSWITCH 简单图形化界面39 - Windows安装FreeSWITCH For IPPBX(WSL环境)
  • uniapp - 小程序实现摄像头拍照 + 水印绘制 + 反转摄像头 + 拍之前显示时间+地点 + 图片上传到阿里云服务器
  • Qt天气预报系统设计界面布局第四部分左边
  • VS无法找到低版本的.net,vs2022创建不了.net6的项目
  • C++软件设计模式之解释器模式
  • 小程序发版后,用户使用时,强制更新为最新版本
  • 如何使用AI工具cursor(内置ChatGPT 4o+claude-3.5)
  • 说说缓存使用的具体场景都有哪些?缓存和数据库一致性问题该如何解决?缓存使用常见问题有哪些?
  • 2025-01-01 NO2. XRHands 介绍