如何快速排查线上 Linux 系统故障?| 极客时间

2020 年 7 月 22 日 InfoQ

作为程序员,和 Linux 打交道,在服务器上分析系统性能情况,我觉得是每一个后端工程师都无法避开的事情。

无论你是开发还是运维,可能都经历过这样的场景:

流量高峰期,服务器 CPU 使用率过高报警,你登录 Linux 上去 top 完之后,却不知道怎么进一步定位,到底是系统 CPU 资源太少,还是程序并发部分写得有问题?
系统并没有跑什么吃内存的程序,但在敲完 free 命令之后,却发现已经没什么内存了,到底是哪里占用了内存?为什么?
一大早就收到 Zabbix 告警,你发现某台存放监控数据的数据库主机 CPU 的 I/O Wait 较高,该怎么办?

Linux 性能问题一直是程序员头上的“紧箍咒”,大多数时候,我们只能看到“症状”,却不知道从哪儿下手排查和解决。就算看了很多资料和书籍,一旦涉及到具体问题,还是会一脸懵逼。

在我看来,与其上来就去啃厚厚的原理书,把自己的信心压垮,不如带着问题,对症下药。说说我的经验,有 3 点我觉得比较重要:

  • 先掌握性能优化的思路和方法,尝试大量 Linux 性能工具;

  • 把性能问题跟系统原理关联起来,特别是把应用程序、库函数、系统调用、内核和硬件等不同的层级贯穿起来;

  • 最终从学习到输出,从实践中总结经验。

这其中,一开始就劝退你的,可能就是 Linux 性能工具的使用,它除了要考虑性能指标的目的外,还要结合待分析的环境来综合选取。

虽说咱有布伦丹·格雷格(Brendan Gregg)大师整理的性能工具图谱,相信你也多少参考过,但其实它还不够具体,使用时还要去查找每个工具的手册,对比分析做出选择。

所以每次用的时候,我就在想,有没有更好的方法来理解这些工具呢?刚刚开始研究的时候,可没少在网上找资料,但总是零散、不成体系,最终我找到了倪朋飞《Linux 性能优化实战》专栏中,总结的几个性能工具图。

他根据「性能指标」的不同,将工具划分为 CPU、内存、磁盘 I / O 及网络,4 大类型,总算是一次性让我把性能工具搞明白了。

「篇幅有限,我在这里就先分享 2 张,有需要的同学,可以在公众号后台回复:倪鹏飞,获取剩下的 4 套高清图谱」

看这些图,就很清晰了,比如,当遇到 I/O 性能问题时,可以根据不同的性能指标,使用 iostat、iotop、blktrace 等工具分析磁盘 I/O 的瓶颈。

之前比较忙,后来我把《Linux 性能优化实战》陆陆续续读下来,感觉很多问题豁然开朗,专栏以案例驱动,提供了 30  多个 Linux 性能问题的诊断思路,真正是让你 10 分钟定位到系统瓶颈,讲的 Linux 的套路,实实在在的解决了我工作中的实际问题。

毫不夸张的说,这是我看过的最好的 Linux 教程,口碑相当不错,已经有超 28000 人订阅了。

秒杀 + 口令「linuxgogo」

到手仅 ¥691 天后将涨至 ¥129

现在相当于「半价」拿下

倪朋飞,微软 Azure 资深工程师,主要负责开源容器编排系统 Kubernetes 在 Azure 的落地实践。

之前先后任职于盛大云和腾讯,在云计算领域有 10 多年的经验,主攻 IaaS 和容器技术,对 Linux 性能优化这套东西有一些自己的思考和沉淀。

这课 65 讲,全部更新完了。讲了 Linux 性能的基本指标、工具,以及相应的观测、分析和调优方法,用实际案例贯穿了从应用程序到操作系统的各个组件,掌握这些,基本上,你就已经可以准确分析和优化大多数的性能问题了

除此之外,倪朋飞还整了 5 个综合实战模块,还原真实的工作场景,结合开源项目、框架或系统设计的案例,手把手带你在“高级战场”演练,让你真正把所学,应用在工作中。

总结来说,就是带你做三件事:定位问题、掌握性能工具、找到解决之道

这两年知识付费泛滥,这课算是一股清流了,不仅脉络清晰,而且作者的文字功底相当了得,真正能把复杂的问题讲明白(这很不容易),除了内容硬核以外,还有 2 点不得不提:

1、讲解得很成体系。每一章节都有基础篇、案例篇和套路篇,选的案例比较有针对性,基本都是工作中用得上的,「套路篇」就更别说了,有好几篇我看了 N 遍。

2、倪朋飞不仅会回答大家提出的问题,还会针对那些有代表性进行公开答疑,确实挺走心。

说真的,光看评论区也能收获不少,自己的认知还是有局限性,有些问题现在没碰到,不等于以后不会出现。

我已经刷了 3 遍,每次刷总有新的收获。专栏已经有 2.8 W+订阅了,口碑特别棒,截了一些真实评价,看看字数就知道多走心了,供你参考:

我真心觉得,一个成体系的课程,好过在网上找 100 篇所谓的干货,用对方法,看清本质,才能最快找到学习的“捷径”,问题的最优解。

真正的好内容值得被更多人知道,这里推荐给你。另外特别提醒大家:

专栏 1 天后将涨价至¥129

现在订阅,秒杀 + 口令「linuxgogo」到手仅¥69

相当于「半价」了,帮你到这里了

干货多不多,咱们还是看看目录吧👇

再强调下:秒杀 + 口令「linuxgogo」,到手仅 ¥69,1 天后涨价至 ¥129

👆扫码免费试读👆

我相信,只要你看过试读文章,就能发现这一张电影票的钱,花得多么值,这也绝对是你相见恨晚的一个专栏。


  点击「阅读原文」¥69 入手,1 天后,涨价至¥129

 👇 跟倪朋飞一起,攻克 Linux 性能优化。

登录查看更多
0

相关内容

Linux 是一系列类 Unix 计算机操作系统的统称。该操作系统的核心为 Linux 内核。Linux 操作系统也是软件和开放源代码发展中最著名的例子之一。
专知会员服务
81+阅读 · 2020年9月28日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
算法与数据结构Python,369页pdf
专知会员服务
161+阅读 · 2020年3月4日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
数据库之架构:主备+分库?主从+读写分离?
架构文摘
8+阅读 · 2019年4月23日
基于Linux连接器的审计进程事件实现方案
FreeBuf
9+阅读 · 2019年3月4日
如何快速入门TensorFlow ?丨极客时间
InfoQ
4+阅读 · 2019年1月8日
如何构建线上线下一体化AI PaaS平台
大数据技术
5+阅读 · 2018年12月17日
Python 如何快速入门?
大数据技术
11+阅读 · 2018年4月9日
基于 Storm 的实时数据处理方案
开源中国
4+阅读 · 2018年3月15日
如何系统地学习数据挖掘?
数据库开发
10+阅读 · 2017年10月22日
Spark App自动化分析和故障诊断
CSDN大数据
7+阅读 · 2017年6月22日
Monocular Plan View Networks for Autonomous Driving
Arxiv
6+阅读 · 2019年5月16日
Arxiv
5+阅读 · 2018年5月16日
Arxiv
4+阅读 · 2018年3月14日
Arxiv
4+阅读 · 2017年7月25日
Arxiv
6+阅读 · 2016年1月15日
VIP会员
相关资讯
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
数据库之架构:主备+分库?主从+读写分离?
架构文摘
8+阅读 · 2019年4月23日
基于Linux连接器的审计进程事件实现方案
FreeBuf
9+阅读 · 2019年3月4日
如何快速入门TensorFlow ?丨极客时间
InfoQ
4+阅读 · 2019年1月8日
如何构建线上线下一体化AI PaaS平台
大数据技术
5+阅读 · 2018年12月17日
Python 如何快速入门?
大数据技术
11+阅读 · 2018年4月9日
基于 Storm 的实时数据处理方案
开源中国
4+阅读 · 2018年3月15日
如何系统地学习数据挖掘?
数据库开发
10+阅读 · 2017年10月22日
Spark App自动化分析和故障诊断
CSDN大数据
7+阅读 · 2017年6月22日
Top
微信扫码咨询专知VIP会员