zoukankan      html  css  js  c++  java
  • 如何学习Linux性能优化?

    一、参考

    如何学习 Linux 性能优化

    Brendan Gregg

    二、性能分析

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

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

    2.1 性能指标是什么?

    我相信“高并发”和“响应快”一定是最先出现在你脑海里的两个词,而它们也正对应着性能优化的两个核心指标——“吞吐”和“延时”

    “吞吐”和“延时”, 是从应用负载的视角来考察性能

    如果从系统资源的视角出发的指标,比如资源使用率、饱和度

    随着应用负载的增加,系统资源的使用也会升高,甚至达到极限

    而性能问题的本质,就是系统资源已经达到瓶颈,但请求的处理却还不够快,无法支撑更多的请求

    2.2 性能分析的 6 个步骤

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

    可以概括为下面这六个步骤:

    (1) 选择指标评估应用程序和系统的性能

    (2) 为应用程序和系统设置性能目标

    (3) 进行性能基准测试

    (4) 性能分析定位瓶颈

    (5) 优化系统和应用程序

    (6) 性能监控和告警

    2.3 学习重点

    想要学习好性能分析和优化,建立整体系统性能的全局观是最核心的话题

    (1) 理解最基本的几个系统知识原理;

    (2) 掌握必要的性能工具;

    (3) 通过实际的场景演练,贯穿不同的组件

    2.4 性能分析工具

    Linux 性能工具图谱

    这个图是 Linux 性能分析最重要的参考资料之一,它告诉你,在 Linux 不同子系统出现性能问题后,应该用什么样的工具来观测和分析

    比如,当遇到 I/O 性能问题时,可以参考图片最下方的 I/O 子系统,使用 iostat、iotop、blktrace 等工具分析磁盘 I/O 的瓶颈

    但是切记,千万不要把性能工具当成学习的全部

    工具只是解决问题的手段,关键在于你的用法

    只有真正理解了它们背后的原理,并且结合具体场景,融会贯通系统的不同组件,你才能真正掌握它们

    2.5 思维导图

    三、高效学习

    3.1 技巧一

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

    先学会我给你讲的这些系统工作原理,但不要去深究 Linux 内核是如何做到的,而是要把你的重点放到如何观察和运用这些原理上,比如:

    (1) 有哪些指标可以衡量性能?

    (2) 使用什么样的性能工具来观察指标?

    (3) 导致这些指标变化的因素等。

    3.2 技巧二

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

    3.3 技巧三

    勤思考,多反思,善总结,多问为什么

  • 相关阅读:
    Flare3D游戏特效教程:火拳阿宝
    AS3:物体的运动
    Away3D基础教程(三):三维世界的灯光
    代码库工具:SVN
    磨刀不误砍柴工:取巧而已
    可视化组件:Swing JComponent
    软件简单升级方式:文件覆盖
    代码库工具:CVS
    多字符串查找算法:kmp与step
    格式化文本支持:JTextPane
  • 原文地址:https://www.cnblogs.com/thewindyz/p/14388789.html
Copyright © 2011-2022 走看看