Linux 性能工具速查表

博客从系统和应用程序角度阐述性能优化方法,强调逐步完善。梳理了常见性能工具,包括 CPU、内存、磁盘 I/O、网络性能工具及基准测试工具,给出各指标对应工具速查表,还说明了分析性能问题的步骤,提醒勿将工具视为全部。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们可以从系统和应用程序两个角度,来进行性能优化:

  • 从系统的角度来说,主要是对 CPU、内存、网络、磁盘 I/O 以及内核软件资源等进行优化。
  • 而从应用程序的角度来说,主要是简化代码、降低 CPU 使用、减少网络请求和磁盘 I/O,并借助缓存、异步处理、多进程和多线程等,提高应用程序的吞吐能力。

性能优化最好逐步完善,动态进行。不要追求一步到位,而要首先保证能满足当前的性能要求。性能优化通常意味着复杂度的提升,也意味着可维护性的降低。

如果发现单机的性能调优带来过高复杂度,一定不要沉迷于单机的极限性能,而要从软件架构的角度,以水平扩展的方法来提升性能。

工欲善其事,必先利其器。我们知道,在性能分析和优化时,借助合适的性能工具,可以让整个
过程事半功倍。你还记得有哪些常用的性能工具吗?今天,我们就一起梳理一下常用的性能工具,以便我们在需要时,可以迅速找到自己想要的。

性能工具速查

CPU 性能工具

首先,从 CPU 的角度来说,主要的性能指标就是 CPU 的使用率、上下文切换以及 CPU Cache 的 命中率等。下面这张图就列出了常见的 CPU 性能指标。
在这里插入图片描述
从这些指标出发,再把 CPU 使用率,划分为系统和进程两个维度,就可以得到,下面这个 CPU 性能工具速查表。注意,因为每种性能指标都可能对应多种工具,在每个指标的说明中, 都总结了这些工具的特点和注意事项。这些也是你需要特别关注的地方。
在这里插入图片描述

内存性能工具

从内存的角度来说,主要的性能指标,就是系统内存的分配和使用、进 程内存的分配和使用以及 SWAP 的用量。下面这张图列出了常见的内存性能指标。
在这里插入图片描述
从这些指标出发,我们就可以得到如下表所示的内存性能工具速查表。同 CPU 性能工具一样,这儿也梳理了,常见工具的特点和注意事项。
在这里插入图片描述

磁盘 I/O 性能工具

从文件系统和磁盘 I/O 的角度来说,主要性能指标,就是文件系统的使用、缓存和缓冲 区的使用,以及磁盘 I/O 的使用率、吞吐量和延迟等。下面这张图列出了常见的 I/O 性能指标。
在这里插入图片描述
从这些指标出发,我们就可以得到,下面这个文件系统和磁盘 I/O 性能工具速查表。
在这里插入图片描述

网络性能工具

从网络的角度来说,主要性能指标就是吞吐量、响应时间、连接数、丢包数等。根据 TCP/IP 网络协议栈的原理,我们可以把这些性能指标,进一步细化为每层协议的具体指标。这里同样用一张图,分别从链路层、网络层、传输层和应用层,列出了各层的主要指标。
在这里插入图片描述
从这些指标出发,我们就可以得到下面的网络性能工具速查表。
在这里插入图片描述

基准测试工具

除了性能分析外,很多时候,我们还需要对系统性能进行基准测试。比如:

  • 在文件系统和磁盘 I/O 模块中,我们使用 fio 工具,测试了磁盘 I/O 的性能。
  • 在网络模块中,我们使用 iperf、pktgen 等,测试了网络的性能。
  • 而在很多基于 Nginx 的案例中,我们则使用 ab、wrk 等,测试 Nginx 应用的性能。

除了这些工具外,对于 Linux 的各个子系统来说,还有很多其他的基准测试工具可能会用到。下面这张图,是 Brendan Gregg 整理的 Linux 基准测试工具图谱,可以保存下来,在需要时参考。
在这里插入图片描述

总结

我们一起梳理了常见的性能工具,并从 CPU、内存、文件系统和磁盘 I/O、网络以及基准 测试等不同的角度,汇总了各类性能指标所对应的性能工具速查表。

当分析性能问题时,大的来说,主要有这么两个步骤:

  1. 第一步,从性能瓶颈出发,根据系统和应用程序的运行原理,确认待分析的性能指标。
  2. 第二步,根据这些图表,选出最合适的性能工具,然后了解并使用工具,从而更快观测到需要
    的性能数据。

虽然 Linux 的性能指标和性能工具都比较多,但熟悉了各指标含义后,你自然就会发现这些工具 同性能指标间的关联。顺着这个思路往下走,掌握这些工具的选用其实并不难。

当然,正如我们一直强调的,不要把性能工具当成性能分析和优化的全部。

  • 一方面,性能分析和优化的核心,是对系统和应用程序运行原理的掌握,而性能工具只是辅助你更快完成这个过程的帮手。
  • 另一方面,完善的监控系统,可以提供绝大部分性能分析所需的基准数据。从这些数据中,你很可能就能大致定位出性能瓶颈,也就不用再去手动执行各类工具了。

欢迎扫码关注V信公众号一起交流:一苦四甜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值