Linux 性能优化实战
倪朋飞
资深 Linux 专家,Kubernetes 项目维护者
87259 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 65 讲
结束语 (1讲)
Linux 性能优化实战
15
15
1.0x
00:00/00:00
登录|注册

57 | 套路篇:Linux 性能工具速查

wrk
ab
pktgen
iperf
fio
丢包数
连接数
响应时间
吞吐量
磁盘I/O使用率、吞吐量和延迟
缓存和缓冲区使用
文件系统使用
SWAP用量
进程内存分配和使用
系统内存分配和使用
CPU Cache命中率
上下文切换
CPU使用率
考虑待分析环境
考虑性能指标
info
man
借助缓存、异步处理、多进程和多线程
减少网络请求和磁盘I/O
降低CPU使用
简化代码
内核软件资源
磁盘 I/O
网络
内存
CPU
性能问题排查和分析
性能工具选择
使用工具观测性能数据
选出最合适的性能工具
确认待分析的性能指标
基准测试工具
网络性能工具
磁盘I/O性能工具
内存性能工具
CPU性能工具
工具选择原则
查询命令手册
应用程序角度
系统角度
思考
性能分析
Linux性能工具
性能工具选择
性能优化
性能工具速查

该思维导图由 AI 生成,仅供参考

你好,我是倪朋飞。
上一节,我带你一起梳理了常见的性能优化思路,先简单回顾一下。
我们可以从系统和应用程序两个角度,来进行性能优化。
从系统的角度来说,主要是对 CPU、内存、网络、磁盘 I/O 以及内核软件资源等进行优化。
而从应用程序的角度来说,主要是简化代码、降低 CPU 使用、减少网络请求和磁盘 I/O,并借助缓存、异步处理、多进程和多线程等,提高应用程序的吞吐能力。
性能优化最好逐步完善,动态进行。不要追求一步到位,而要首先保证能满足当前的性能要求。性能优化通常意味着复杂度的提升,也意味着可维护性的降低。
如果你发现单机的性能调优带来过高复杂度,一定不要沉迷于单机的极限性能,而要从软件架构的角度,以水平扩展的方法来提升性能。
工欲善其事,必先利其器。我们知道,在性能分析和优化时,借助合适的性能工具,可以让整个过程事半功倍。你还记得有哪些常用的性能工具吗?今天,我就带你一起梳理一下常用的性能工具,以便你在需要时,可以迅速找到自己想要的。

性能工具速查

在梳理性能工具之前,首先给你提一个问题,那就是,在什么情况下,我们才需要去查找、挑选性能工具呢?你可以先自己想一下,再继续下面的内容。
其实在我看来,只有当你想了解某个性能指标,却不知道该怎么办的时候,才会想到,“要是有一个性能工具速查表就好了”这个问题。如果已知一个性能工具可用,我们更多会去查看这个工具的手册,找出它的功能、用法以及注意事项。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文详细介绍了Linux性能工具的速查,从系统和应用程序两个角度进行性能优化。文章列举了常见的性能工具速查表,帮助读者在需要时迅速找到自己想要的工具。从CPU、内存、磁盘I/O、网络等角度梳理了常见的Linux性能工具,并列出了各类性能指标所对应的工具速查表。此外,还介绍了基准测试工具,并提出了分析性能问题的两个步骤。总结指出,熟悉性能指标含义后,掌握这些工具的选用并不难,但性能工具只是辅助性能分析和优化的帮手,核心在于对系统和应用程序运行原理的掌握。文章内容丰富,适合需要快速了解Linux性能工具的读者阅读。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Linux 性能优化实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(13)

  • 最新
  • 精选
  • Linuxer
    有一个问题请教,很多时候工具有了,但是对于指标是否在合理范围好像没有明确的标准,都是经验式的

    作者回复: 嗯 这确实是经验式的,没有绝对的指标,不同应用不同场景都不太一样。不过USE法的这些指标都比较直观,可以优先查看

    2019-04-08
    3
    9
  • 大坏狐狸
    我看到nethogs的时候去尝试理解一下,结果v0.8.0 会有如下错误:creating socket failed while establishing local IP - are you root? 即使是root用户去执行。看网上说v0.8.1 解决了这个问题。所以就下载了8.5版本。 wget -c https://github.com/raboof/nethogs/archive/v0.8.5.tar.gz tar xf v0.8.5.tar.gz cd ./nethogs-0.8.5/ sudo apt-get install libncurses5-dev libpcap-dev make && sudo make install

    作者回复: 👍 谢谢分享

    2019-04-15
    4
  • hola
    可以做一期dtrace的讲解吗?感觉这个工具很厉害,但是挺复杂的

    作者回复: dtrace在linux上无法使用,其实我也不熟。官方网站上有个很详细的文档,可以去看看

    2019-04-08
    4
  • Roy
    Linux什么时候有跑分软件?象安兔兔

    作者回复: 这个不了解😓 不过如果针对具体性能指标,都有很多相关的性能评测工具,我们专栏里面也提到不少

    2020-07-16
    1
  • youbuxiaoer
    老师,工作中遇到内存占用较高,通过meminfo确认是匿名页占用较多内存,请问匿名页内存是如何产生的?如何释放?

    作者回复: 请参考我们专栏第19篇

    2020-07-20
    2
  • J.Smile
    思考: ⭐问题,办法,工具的关系——问题是人一生中唯一的事。解决问题的办法有很多,办法使用到的工具������️也有很多。 ⭐转化——核心技术,是一种重要的工具,行之有效的工具,少了这个核心工具就做不成事情,此时的工具就转化为办法。 ⭐技术,是一种工具,不要误以为是办法。只有当除此技术就无法解决问题的时候,技术工具才是办法本身,比如ai,大数据只是解决问题的办法,tensorflow,spark等是解决问题的工具。 ⭐工具,似乎不可能唯一。当解决问题的办法出现后,工具也趋向多元化。所以,似乎办法比工具重要的多。 ⭐办法,也就是方法,解决问题的思路,步骤。需要理解问题的结构、细节,进而采取措施。兵来将挡,水来土掩。所以,关键就是知道兵将关系,水土关系,理解问题,剖析问题是根本。 ⭐问题,是程序bug?运营问题?管理问题?一个问题的出现可能由多方因素。 那么作为技术人员,能拿技术解决什么问题?解决问题,才能收货利益。比如朝九晚五写bug,夜以继日搞私活。解决的问题都不是痛点,或者并不是太痛。 ⭐痛点,有多痛,就有多大价值,就可以带来多大收益。要体现自我价值,就得解决痛点。谁解决了痛点,谁就是有价值的人。但痛点本身与技术无关。 一句话:抓住痛点(方向),剖析原理(方法),用好工具(利剑)。 -----拿着’利剑‘用正确的’方法‘挥向正确的’方向‘--------------------
    2020-08-21
    12
  • jorin@zou
    是我学的太快了吗,怎么越学到后面,评论越少了,得放慢脚步
    2020-06-09
    2
    2
  • 我来也
    [D57打卡] 对性能分析的原理,比之前了解的多多了. 工具还是要经常用才行,不用就容易忘记. 有时用man还可以想起一点点来. 今天又把这些指标和工具又温习了一遍,以后也要常拿出来温习才行. 毕竟目前的主要工作还不是性能分析这一块.
    2019-04-08
    1
  • ninuxer
    打卡day61 这工具,还是要经常用,感觉用各个模块的套路篇,来的更快点~
    2019-04-08
    1
  • Jiyong
    请教老师,有哪些限制cpu 内存等资源使用率的工具。谢谢啊
    2021-05-26
收起评论
显示
设置
留言
13
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部