线上故障之load Average和cpu使用率的分析

来源:互联网 发布:数据交易平台 源码 编辑:程序博客网 时间:2024/05/16 09:38

         线上服务突然异常,一般就是峰值情况下机器某个维度或者多个维度出现负荷,我在项目中就几乎遇到过load飚高,cpu跑满,带宽打满,内存不够,磁盘写满,硬盘损坏,机房断电等各种情况,所以要保证线上服务的高可用,除了完善的监控系统外,我们自己对各种系统参数也一定要烂熟于胸,对这些参数的敏感度将有效帮助我们将可能的故障扼杀在襁褓中。

        

          CPU利用率,是对一个时间段内CPU使用状况的统计,通过这个指标可以看出在某一个时间段内CPU被占用的情况,如果CPU被占用时间很高,那么就需要考虑CPU是否已经处于超负荷运作,长期超负荷运作对于机器本身来说是一种损害,因此必须将CPU的利用率控制在一定的比例下,以保证机器的正常运作。
          Load Average是 CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。
          那么CPU利用率与Load Average对于性能测试的意义有什么区别呢?实际上,CPU利用率反映的是CPU被使用的情况,当CPU长期处于被使用而没有得到足够的时间休息间歇,那么对于CPU硬件来说是一种超负荷的运作,需要调整使用频度。而Load Average却从另一个角度来展现对于CPU使用状态的描述,Load Average越高说明对于CPU资源的竞争越激烈,CPU资源比较短缺。对于资源的申请和维护其实也是需要很大的成本,所以在这种高Average Load的情况下CPU资源的长期“热竞争”也是对于硬件的一种损害。

         


阅读全文
0 0
原创粉丝点击