• Q
    2019-12-09
    做运维的免不了要经常和性能数据打交道,往往很多时候,不细致了解数据内在含义,仅靠字面意思,往往很容易走入误区。比如CPU IO Waite,当这个值升高的时候,大多数人,包括我自己,会认为系统IO出现瓶颈问题了。直到我阅读了一篇关于CPU IO Waite的文章之后,我才明白,这个值不一定说明当前系统IO出现问题。简单来说,能导致CPU IO Waite值升高,有两个条件:
    1.系统仍有未完成的IO正在处理,这个IO处理时间可能会很长,但不一定说明磁盘IO到了瓶颈
    2.进程因为等待IO完成而处于不可中断的睡眠状态,即CPU处于空闲状态中

    展开

    作者回复: 赞!

     2
     4
  • Kǎfκã²⁰²⁰
    2019-12-09
    印象最深的是一个反向例子。事先估计用户量太大,导致过度设计,到下线都没有达到预计的百分之一,反而增加了开发周期。
    
     2
  • 许童童
    2019-12-09
    有了数据,只是第一步,如何分析,得出性能分析的结果,这一步更为重要,先了解理论,再做实践,希望跟着老师,能一步步探究出性能分析的奥妙。
    
     2
  • Shupeng Xu
    2019-12-27
    “举个简单例子,Linux 系统的空闲内存其实就是一条时间序列,它或许显示快到 0 了,看起来性能问题出在这里。但是稍微了解 Linux 系统内存管理知识的人,就知道这个指标非常不可靠”

    老师能否解释一下这里?不是很明白,谢谢。
     1
     1
  • han
    2019-12-18
    定位性能问题需要对知识有全面的认识,说一下自己的理解:
    - 理解应用系统各个模块对资源消耗的偏重(有的是磁盘IO、有的是内存、有的是CPU);
    - 理解操作系统各类性能指标的含义,大部分情况应该是Linux(内存、CPU、Disk、网络等)
    - 熟知操作系统各类性能参数工具(当然现在很多运维工具采集的也很全面了)
    - 了解各类操作的常规开销,比如内外网延迟、应用的CPU、IO使用率、数据库延迟
    - 应用系统的外部依赖分析,很多时候问题是由外部依赖出现问题导致的,比如数据库、磁盘、网络、缓存等
    展开
    
    
我们在线,来聊聊吧