Linux性能优化实战
倪朋飞
微软资深工程师,Kubernetes项目维护者
立即订阅
23395 人已学习
课程目录
已完结 64 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (2讲)
开篇词 | 别再让Linux性能问题成为你的绊脚石
免费
01 | 如何学习Linux性能优化?
CPU 性能篇 (13讲)
02 | 基础篇:到底应该怎么理解“平均负载”?
03 | 基础篇:经常说的 CPU 上下文切换是什么意思?(上)
04 | 基础篇:经常说的 CPU 上下文切换是什么意思?(下)
05 | 基础篇:某个应用的CPU使用率居然达到100%,我该怎么办?
06 | 案例篇:系统的 CPU 使用率很高,但为啥却找不到高 CPU 的应用?
07 | 案例篇:系统中出现大量不可中断进程和僵尸进程怎么办?(上)
08 | 案例篇:系统中出现大量不可中断进程和僵尸进程怎么办?(下)
09 | 基础篇:怎么理解Linux软中断?
10 | 案例篇:系统的软中断CPU使用率升高,我该怎么办?
11 | 套路篇:如何迅速分析出系统CPU的瓶颈在哪里?
12 | 套路篇:CPU 性能优化的几个思路
13 | 答疑(一):无法模拟出 RES 中断的问题,怎么办?
14 | 答疑(二):如何用perf工具分析Java程序?
内存性能篇 (8讲)
15 | 基础篇:Linux内存是怎么工作的?
16 | 基础篇:怎么理解内存中的Buffer和Cache?
17 | 案例篇:如何利用系统缓存优化程序的运行效率?
18 | 案例篇:内存泄漏了,我该如何定位和处理?
19 | 案例篇:为什么系统的Swap变高了(上)
20 | 案例篇:为什么系统的Swap变高了?(下)
21 | 套路篇:如何“快准狠”找到系统内存的问题?
22 | 答疑(三):文件系统与磁盘的区别是什么?
I/O 性能篇 (10讲)
23 | 基础篇:Linux 文件系统是怎么工作的?
24 | 基础篇:Linux 磁盘I/O是怎么工作的(上)
25 | 基础篇:Linux 磁盘I/O是怎么工作的(下)
26 | 案例篇:如何找出狂打日志的“内鬼”?
27 | 案例篇:为什么我的磁盘I/O延迟很高?
28 | 案例篇:一个SQL查询要15秒,这是怎么回事?
29 | 案例篇:Redis响应严重延迟,如何解决?
30 | 套路篇:如何迅速分析出系统I/O的瓶颈在哪里?
31 | 套路篇:磁盘 I/O 性能优化的几个思路
32 | 答疑(四):阻塞、非阻塞 I/O 与同步、异步 I/O 的区别和联系
网络性能篇 (13讲)
33 | 关于 Linux 网络,你必须知道这些(上)
34 | 关于 Linux 网络,你必须知道这些(下)
35 | 基础篇:C10K 和 C1000K 回顾
36 | 套路篇:怎么评估系统的网络性能?
37 | 案例篇:DNS 解析时快时慢,我该怎么办?
38 | 案例篇:怎么使用 tcpdump 和 Wireshark 分析网络流量?
39 | 案例篇:怎么缓解 DDoS 攻击带来的性能下降问题?
40 | 案例篇:网络请求延迟变大了,我该怎么办?
41 | 案例篇:如何优化 NAT 性能?(上)
42 | 案例篇:如何优化 NAT 性能?(下)
43 | 套路篇:网络性能优化的几个思路(上)
44 | 套路篇:网络性能优化的几个思路(下)
45 | 答疑(五):网络收发过程中,缓冲区位置在哪里?
综合实战篇 (13讲)
46 | 案例篇:为什么应用容器化后,启动慢了很多?
47 | 案例篇:服务器总是时不时丢包,我该怎么办?(上)
48 | 案例篇:服务器总是时不时丢包,我该怎么办?(下)
49 | 案例篇:内核线程 CPU 利用率太高,我该怎么办?
50 | 案例篇:动态追踪怎么用?(上)
51 | 案例篇:动态追踪怎么用?(下)
52 | 案例篇:服务吞吐量下降很厉害,怎么分析?
53 | 套路篇:系统监控的综合思路
54 | 套路篇:应用监控的一般思路
55 | 套路篇:分析性能问题的一般步骤
56 | 套路篇:优化性能问题的一般方法
57 | 套路篇:Linux 性能工具速查
58 | 答疑(六):容器冷启动如何性能分析?
加餐篇 (4讲)
加餐(一) | 书单推荐:性能优化和Linux 系统原理
加餐(二) | 书单推荐:网络原理和 Linux 内核实现
用户故事 | “半路出家 ”,也要顺利拿下性能优化!
用户故事 | 运维和开发工程师们怎么说?
结束语 (1讲)
结束语 | 愿你攻克性能难关
Linux性能优化实战
登录|注册

结束语 | 愿你攻克性能难关

倪朋飞 2019-04-15
你好,我是倪朋飞。
不知不觉,四个月已经过去,咱们专栏也到了该说再见的时候。诸多感慨和收获,在这里想跟你一起分享一下。
回想当初,跟极客时间团队确认专栏写作形式的时候,“以案例实践贯穿性能优化理论”,成为了整个专栏的主线。在我看来,这是学习性能优化最好的路径,既不会让你因性能优化涉及过多领域而畏惧,更可以让你避免陷入个别细节,而丢掉性能优化这个整体目标。
始料未及的是,准备这些案例,竟然耗费了远超过写文章的时间。而案例贯穿理论的主线,也让专栏篇幅从原定的 49 期延长到了 60 期,导致最早在开篇词中提到的 3 个月学习时间,延长到了将近 5 个月。在这里,也非常感谢前阿里资深技术专家林晓斌、唯品会资深运维工程师阳祥义、携程系统研发部资深后端工程师董国星等多位技术专家,为许多案例提供了丰富的思路。
专栏上线后,同学们的热情留言完全出乎我的意料。这些留言既包括了对专栏未提及到的知识盲点的疑问,也有每个人实际生产环境的分享。
我很乐意去回答这些问题,因为我同样非常感谢你在留言区分享的这些性能问题和优化思路。它们不仅丰富了我的视野,也让我意识到很多之前未曾留意的盲区。当然,每当看到有新的留言说,某个思路帮助解决了线上的性能问题时,我也会异常兴奋。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《Linux性能优化实战》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(44)

  • 我来也
    [D60打卡]
    不知不觉,专栏又结束了.

    非常感谢老师领进门,以后再遇到性能问题,不会像之前那么慌了.
    现在至少知道了一些大的分类,和常见的分析优化手段.
    遇到了问题,再来专栏中找找灵感,哈哈.

    每个人遇到的性能问题,难度,涉及的知识面都不一样, 但每个人的时间都是有限的,可能侧重点不一样.
    所以并不是每个人都会把整个专栏学透.
    但有了一个简单全面的认识后,遇到了相应知识块的内容,知道在专栏的哪一部份来吸取灵感,也是不错的.

    专栏前期的 CPU 内存 磁盘 确实是一些非常常见的,自己还稍微能掌控的内容了.

    最后,感谢老师的辛苦付出!
    2019-04-15
    6
  • Cranliu
    每周一、三、五,醒来第一件事就是看看更新了什么内容,地铁上读第一遍,到了公司之后细看、做实验。受益匪浅,感受颇多,向老师致敬,表示感谢。
    2019-04-15
    4
  • dahey
    我就是从网络篇开始掉队的😂 不过老师讲得确实非常好,非常喜欢老师写的文章!

    作者回复: 加油👍

    2019-04-16
    2
  • 圣诞使者
    之前一直期待这么个专栏呢,想补一补这方面的知识。平均负载,缓存,EBPF,nethogs等等,学到了很多,最近准备复习一遍了,谢谢!
    2019-04-15
    2
  • 木鱼
    大致看完了 后面在工作中去实践 加深印象 找到自己解决问题的思路及方法
    2019-11-22
    1
  • React
    终于把课程补完了,有时间再进行二刷,非常感谢老师的分享,难得的品质专栏!

    作者回复: 谢谢支持😊

    2019-06-27
    1
  • Linuxer
    感谢感谢,写技术文章真的不容易
    2019-04-15
    1
  • 耿长学
    感谢老师的课程,我把这个课程打印成了一本书,400多页,还搭建了docker仓库把老师的案例pull下来学习,专栏对我很有用,这里还想请教老师两个问题:
    1)您好老师,我想请教一个问题,nohub ping www.baidu.com &的输出存放到哪里去了,如果长时间ping使用kill终止的时候为什么会引起内存升高呢?
    2)/proc文件系统的原理是实现是基于什么?/proc里面这些文件使用的是内存存放还是磁盘存放的,当命令终止后这些文件又去了哪里,怎么销毁的,
    2019-12-11
  • loser
    性能优化道阻且长,坚持基础知识学习不动摇。
    2019-11-19
  • 这个专栏确实很有用,多学多做,反复学反复动手,熟能生巧,牢记于心,对以后生产中排障优化很有用,感谢作者
    2019-10-29
  • 会飞的鱼
    老师好,还是清空zookeeper.out内容的问题。cat /dev/null > zookeeper.out后,没有报错,紧接着,我用echo $?来看命令执行是否成功,输出为0,说明命令执行是成功的。 我还新建了个文件,然后用cat /dev/null > test. txt,发现可以正常清空的。就是这个zookeeper.out怎么也清空不了。其他的类似命令也试过了,echo ""> zookeeper.out,> zookeeper.out,都不行。
    2019-10-24
  • 会飞的鱼
    倪老师,你好,请教个问题,zookeeper启动后在bin目录下生成了启动日志,zookeeper. out,现在这个日志太大了,我用cat /dev/null > zookeeper.out来清空,可是不起作用,清空后大小还是没变?

    作者回复: 检查一下命令是否有typo以及是不是成功了

    2019-10-22
  • 饭粒
    一周目完结卡,非常有诚意的专栏,感谢老师。
    2019-09-28
  • 明翼
    不知道老师还是否再看问题,有个问题请教下,我们用的系统是Centos7系统,前天遇到一个udp程序收在B主机上收不到A主机发过来包,但是另一个udp进程(用的同一个程序)在B主机上收的到C主机上同样格式的UDP包,所以应用本身不存在问题;在B主机上用tcpdump可以抓到A主机发过来的UDP报文,后来我检查发现B主机上对A主机网段的路由配置走的是eth1 这个网卡,而B主机收A主机的报文用的是eth0这个网卡,我把B主机上对A主机网段的路由改成走eth0这个网卡就可以收到了。
    我的问题是:
    1 udp是不关心回复的,那么这种从哪个网卡回包其实也应该不影响的啊,为什么改了之后就可以收到。
    如果不理解我的描述可以看看:https://www.cnblogs.com/seaspring/articles/11562287.html
    谢谢老师关注
    2019-09-22
  • A孙其成
    最后一篇,打卡。
    2019-07-25
  • 一坛幽梦
    历时3周,终于过完了第二遍;
    第一遍好多概念懵懵懂懂的,学完心里也很虚,所以毫不犹豫的刷了第二遍;
    第二遍终于对CPU、内存、IO部分有了顿悟的感觉,但是网络部分还是觉得心虚;
    之前我觉得我是个还不错的运维,现在让我认清了自己差距,还要继续努力,夯实基础;
    非常感谢老师在这个专栏的辛苦付出,期待老师关于K8S方面的课程!

    作者回复: 谢谢你的支持😊

    2019-07-18
  • zhchnchn
    掉队了,终于刷完。
    感谢,精品专栏,对实际工作帮助巨大

    作者回复: 😊

    2019-07-04
  • 秦跃
    朋飞老师,有个问题咨询我压测8核32g内存阿里ecs机器部署服务接口,qps仅到158,同样代码到了mac本压测可以到389,不知道瓶颈在哪里?

    作者回复: QPS低的话,还需要进一步的分析才可能知道问题来源。建议先按照专栏分析,比如第52篇。如果碰到具体的问题,再到这里留言。

    2019-06-20
  • Eric
    又坚持学完了一个专栏,里面的案例大多我都有动手尝试,运行效果和老师讲的出入不大。

    非常感谢极客时间,感谢老师,感谢在线教育的兴起,让普通人也有向一流高手学习的机会。

    我是一个有四年工作都运维工程师,老师加餐篇里面提到的书籍都是我们圈子里的大部头,少有人读,我只读过其中2本,原先还一直以为够了。 其实对高手而言这些都是必读书。让我重新认识到自己的舒适圈,受益匪浅。

    另外想请教下老师,我对未来运维工程师的职业成长规划比较迷茫,比如啃完老师推荐的10本书以后呢? 我该学什么,对标谁来学呢。 市场上大部分公司都用不到这么深的技术,该如何就业。 以后着重提升自己哪个方面等等。 请老师指点一二

    作者回复: 所有的公司都会用到这些基础技术,只是不同业务、不同产品、不同发展阶段关注的侧重点不同。只是看完书籍而不实际应用,往往效果并不好,推荐从已有的业务出发,考虑怎么去做一些优化,比如性能分析、告警和优化等

    2019-05-26
  • 💖李京潼💖
    很喜欢老师讲的课
    2019-05-22
收起评论
44
返回
顶部