linux性能测试工具的记录

基准测试(Benchmarking)是一种评估系统性能的方法,通常通过运行特定的程序或工作负载来测量硬件或软件的性能指标。以下是一些常见的基准测试类型和工具:

1. CPU 基准测试

  • Sysbench:多线程性能测试工具,可以测试 CPU、内存、线程、IO 和数据库性能。
  • Cinebench:测试 CPU 和 GPU 的性能,特别适用于 3D 渲染和视频编辑等应用。
  • Geekbench:测试 CPU 和内存性能,提供跨平台的性能比较。

2. 内存基准测试

  • Memtest86+:测试 RAM 的稳定性和性能,常用于诊断内存问题。
  • Stream:测试内存带宽和复制速度。

3. 磁盘和存储基准测试

  • FIO:灵活的 I/O 测试工具,可以测试多种存储设备的性能。
  • Bonnie++:测试文件系统的性能,包括读取、写入和元数据操作。
  • IOzone:测试文件系统的读写速度和并发性能。

4. 网络基准测试

  • Netperf:测试网络性能,包括 TCP 和 UDP 传输。
  • iperf:用于测量网络带宽和延迟。

5. 综合性能基准测试

  • Phoronix Test Suite:提供广泛的测试,涵盖 CPU、GPU、存储和网络性能。
  • UnixBench:测试类 Unix 系统的性能,包括 CPU、内存和文件系统。

6. 数据库基准测试

  • sysbench:除了 CPU 和内存测试外,还可以测试数据库性能。
  • Apache JMeter:用于测试数据库和 Web 应用程序的性能。

7. 图形和 GPU 基准测试

  • Unigine Heaven:测试 GPU 的 3D 渲染能力。
  • 3DMark:广泛使用的 GPU 性能测试工具。

8. 虚拟化和云基准测试

  • Vmmark:由 Google 开发,用于测试虚拟化性能。
  • CloudSuite:测试云基础设施的性能。

如何进行基准测试

  • 选择适当的工具:根据你需要测试的性能指标选择合适的基准测试工具。
  • 准备测试环境:确保测试环境干净、一致,以避免外部因素影响结果。
  • 运行测试:按照工具的指南运行基准测试。
  • 分析结果:对比测试结果,找出性能瓶颈或优势。

stress 是一个 Linux 系统压力测试工具,用作异常进程模拟平均负载升高的场景。
strees: 压测命令,–cpu cpu压测选项,-i io压测选项,-c 进程数压测选项,–timeout 执行时间
sysbench 来模拟系统多线程调度切换的情况

显示平均负载:uptime、top,显示的顺序是最近1分钟、5分钟、15分钟,从此可以看出平均负载的趋势。

sysstat 包含了常用的 Linux 性能工具,用来监控和分析系统是的性能,找出平均负载升高的根源,包括几个命令 mpstat 和 pidstat,iostat。
mpstat: 多核cpu性能分析工具,-P ALL监视所有cpu,cswch ,表示每秒自愿上下文切换的次数,nvcswch ,表示每秒非自愿上下文切换的次数。
pidstat: 进程性能分析工具,-u 显示cpu利用率
iostat:IO性能分析工具

vmstat 是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数。
cs(context switch)是每秒上下文切换的次数。
in(interrupt)则是每秒中断的次数。
r(Running or Runnable)是就绪队列的长度,也就是正在运行和等待 CPU 的进程数。
b(Blocked)则是处于不可中断睡眠状态的进程数。

cat /proc/interrupts查看系统中断次数
cat /proc/stat 查看系统进程整体的统计信息

perf 是 Linux 2.6.31 以后内置的性能分析工具。它以性能事件采样为基础,不仅可以分析系统的各种事件和内核性能,还可以用来分析指定应用程序的性能问题。perf top,类似于 top,它能够实时显示占用 CPU 时钟最多的函数或者指令,因此可以用来查找热点函数。perf top 虽然实时展示了系统的性能信息,但它的缺点是并不保存数据,也就无法用于离线或者后续的分析。而 perf record 则提供了保存数据的功能,保存后的数据,需要你用 perf report 解析展示。在实际使用中,我们还经常为 perf top 和 perf record 加上 -g 参数,开启调用关系的采样,方便我们根据调用链来分析性能问题。

pstree 就可以用树状形式显示所有进程之间的关系:

execsnoop 就是一个专为短时进程设计的工具。它通过 ftrace 实时监控进程的 exec() 行为,并输出短时进程的基本信息,包括进程 PID、父进程 PID、命令行参数以及执行的结果。

dstat可以同时查看 CPU 和 I/O 这两种资源的使用情况,便于对比分析

一般来说,我们首先通过uptime查看系统负载,然后使用mpstat结合pidstat来初步判断到底是cpu计算量大还是进程争抢过大或者是io过多,接着使用vmstat分析切换次数,以及切换类型,来进一步判断到底是io过多导致问题还是进程争抢激烈导致问题。

通过网上收集和对LINUX服务器性能的分析和体验,整理了几个比较实用,功能比较强大的性能测试工具供亲们下载,虽然网络上都对每个工具做了详细的功能介绍和文档说明,但分得很散,所以, 在此本人将各个比较实用的服务器性能测试工具集中起来,方便开发人员有针对性的测试和对比,在服务器性能方面起到很好的效果。 1、LTP--linux稳定性测试: LTP套件是由 Linux Test Project 所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。通过压力测试来判断系统的稳定性和可靠性。 2、Linux性能测试工具Lmbench:Linux性能测试工具Lmbench是一套简易可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解关键操作的基础成本。其官方网站是:http://www.bitmover.com/lmbench/。 3、Linux下很全面的监控工具dstat:dstat是一个用来替换 vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具. 与sysstat相比, dstat拥有一个彩色的界面, 在手动观察性能状况时, 数据比较显眼容易观察; 而且dstat支持即时刷新, 譬如输入dstat 3, 即每三秒收集一次, 但最新的数据都会每秒刷新显示. 和sysstat相同的是, dstat也可以收集指定的性能资源, 譬如 dstat -c 即显示CPU的使用情况. 下载安装文件dstat-0.6.7-1.el*.rf.noarch.rpm: http://dag.wieers.com/rpm/packages/dstat/ 3、网络流量监测图形分析工具 Cacti:Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具 4、Linux系统维护常用工具sysstat:sysstat这个工具,可以说是linux &Unix; 以及Freebsd最常用的工具。它的主要用途就是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。 5、Apache ab 压力测试:ab的全称是ApacheBench,ab是Apache 附带的超文本传输协议(HTTP)的性能测试工具。 其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可以处理多少个请求;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小坚学Linux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值