1.如何学习Linux性能优化?

前言

性能问题并没有你想像得那么难,只要你理解了应用程序和系统的少数几个基本原理,再进行大量的实战练习,建立起整体性能的全局观,大多数性能问题的优化就会水到渠成。

我见过很多工程师,在分析应用程序所使用的第三方组件的性能时,并不熟悉这些组件所用的编程语言,却依然可以分析出线上问题的根源,并能通过一些方法进行优化,比如修改应用程序对它们的调用逻辑,或者调整组件的配置选项等。

所有我们不需要了解每个组件的所有实现细节,只要能理解它们最基本的工作原理和协作方式既可。


本专题学习要求的技能:
本专题的核心是性能的分析和优化,而不是最基本的 Linux 操作系统的使用方法。

因而,我希望你最好用过 Ubuntu 或其他 Linux 操作系统,然后要具备一些编程基础,比如:了解 Linux 常用命令的使用方法;知道怎么安装和管理软件包;知道怎么通过编程语言开发应用程序等。


一.什么是性能分析?

性能分析,其实就是找出应用或系统的瓶颈,并设法去避免或者缓解它们,从而更高效地利用系统资源处理更多的请求。

这包含了一系列的步骤,比如下面这六个步骤:

  • 选择指标评估应用程序和系统的性能;
  • 为应用程序和系统设置性能目标;
  • 进行性能基准测试;
  • 性能分析定位瓶颈;
  • 优化系统和应用程序;
  • 性能监控和告警。

二.性能分析需要重点学习什么?

想要学习好性能分析和优化,建立整体系统性能的全局观是最核心的话题。需要学习一下几个重点

  • 理解最基本的几个系统知识原理;
  • 掌握必要的性能工具;
  • 通过实际的场景演练,贯穿不同的组件。

总结: 掌握原理,掌握分析工具,实际演练分析运行的组件。


三.如何高效的学习性能优化?

技巧一:虽然系统的原理很重要,但在刚开始一定不要试图抓住所有的实现细节。

深陷到系统实现的内部,可能会让你丢掉学习的重点,而且繁杂的实现逻辑,很可能会打退你学习的积极性。所以,我个人观点是一定要适度。你可以先学会我给你讲的这些系统工作原理,但不要去深究 Linux 内核是如何做到的,而是要把你的重点放到如何观察和运用这些原理上,比如:

  • 有哪些指标可以衡量性能?
  • 使用什么样的性能工具来观察指标?
  • 导致这些指标变化的因素等。

技巧二:边学边实践,通过大量的案例演习掌握 Linux 性能的分析和优化。

我强烈推荐你去实际运行、分析这些案例,或者用学到的知识去分析你自己的系统,这样你会有更直观的感受,获得更好的学习效果。

技巧三:勤思考,多反思,善总结,多问为什么。

想真正学懂一门知识,最好的方法就是问问题。当你能提出好的问题时,就说明你已经深入了解了它。


附录:Linux性能分析学习脑图

你可能感兴趣的:(性能调优)