Linux性能优化概述

  一、Linux性能概述
    性能优化是个系统工程,总是牵一发而动全身,它涉及了从程序设计、编程语言,再到系统、存储、网络等各种底层基础设施的方方面面。每一个组件都有可能出问题,而且很有可能多个组件同时出问题。
    Linux 性能的基本指标包括 CPU 性能、磁盘 I/O 性能、内存性能以及网络性能等。 系统性能问题,只要理解了应用程序和系统的少数几个基本原理,再进行大量的实战练习,建立起整体性能的全局观并不困难。
    性能指标高并发响应快是从应用负载的视角来考察性能,直接影响了产品终端的用户体验。也正对应着性能优化的两个核心指标——“吞吐延时
    性能分析:随着应用负载的增加,系统资源的使用也会升高,甚至达到极限。性能问题的本质就是系统资源已经达到瓶颈,但请求的处理却还不够快,无法支撑更多的请求。性能分析其实就是找出应用或系统的瓶颈,并设法去避免或者缓解它们,从而更高效地利用系统资源处理更多的请求。
    性能分析六个步骤
      (1) 选择指标评估应用程序和系统的性能;
      (2)为应用程序和系统设置性能目标;
      (3)进行性能基准测试;
      (4)性能分析定位瓶颈;
      (5)优化系统和应用程序;
      (6)性能监控和告警
  二、性能优化方法论
    动手优化性能之前,需要明确以下三个问题:
    1、如何评估性能优化的效果?
    确定性能的量化指标、测试优化前的性能指标、测试优化后的性能指标。 量化指标的选择至少要从应用程序 和系统资源这两个维度,分别选择不同的指标:
      1)应用程序的维度,我们可以用吞吐量和请求延迟来评估应用程序的性能。
      2)系统资源的维度,我们可以用 CPU 使用率来评估系统的 CPU 使用情况。

    性能测试注意点:
      1)避免性能测试工具干扰应用程序的性能;
      2)避免外部环境的变化影响性能指标的评估。

    2、多个性能问题同时存在,选择优化哪些?
      二八原则,并不是所有的性能问题都值得优化,找出最重要的、可以最大程度提升性能的问题。优先优化系统资源使用问题、性能指标变化幅度最大的问题。
    3、多种优化方法,选择哪种?
      选能最大提升性能的方法,但性能优化通常会带来复杂度的提升,降低程序的可维护性,还可能引发其他指标的异常。

  综合上述,通过应用程序测试分析系统性能瓶颈,通过系统三个方面着手优化操作系统:1)CPU;2)内存;3)磁盘I/O。
  
    

posted on 2021-10-05 19:01  池塘里洗澡的鸭子  阅读(151)  评论(0编辑  收藏  举报