线上接口变慢,如何排查
还有可能是机器达到了性能瓶颈。而机器性能瓶颈也又可以分为磁盘 IO 瓶颈、CPU 性能瓶颈、网卡瓶颈等等,本文主要从 CPU 出现性能瓶颈这个角度来分析下问题出现在哪儿。 为什么选 CPU 来分析呢?这是因为这通常是我们排查问题的第一步,自下而上排查,而通过 CPU 往往能帮助我们分析出问题出现在哪儿。 top 首先使用 top 命令,可以看到机器有多少个 CPU,以及 CPU 过去 1 分钟、5 分钟、15 分钟的平均负载,各个 CPU 的使用率等信息。今天主要分析下 CPU 的负载和使用率的区别,这两个指标经常容易搞混。 CPU 的负载(load)和使用率(utilization) 首先,需要明确的是,CPU 的负载(load)和使用率这两个指标并不是一码事。第一,它们的计算公式不一样,也就是说它们所代表的含义也就不一样;第二,这两个指标如果异常,我们排查问题的方向也就不同。 负载的计算公式 load = (D+R)/SUM(ALL) D 和 R 是什么意思呢? 一台 linux 机器在运行时会有很有很多进程,这些进程按照状态可以细分为 7 类:
「因此 D+R 表示的是机器的整体负载,即 CPU 负载(正在运行着的进程)+Disk 负载+网络负载+其他外设负载,当出现负载高时,那么问题可能不仅仅出现在 R 态的进程,还有可能是磁盘和网络 IO 引起的。」 CPU 的使用率 CPU 是分时间片运行的,每个时间片会分配给一个进程(或者线程)。 CPU 的使用率 = CPU 执行非系统空闲进程的时间 / CPU 总的执行时间 CPU 总的执行时间又可以细分为四大类: 1.用户进程使用时间(User Time)
2.系统内核使用时间(System Time)
(编辑:东莞站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |