什么是负载均衡

声明:本文参考倪鹏飞老师的《Linux性能优化实践》

一、什么是负载均衡

1、平均负载定义

       平均负载是指单位时间内,系统处于可运行状态和不可中断的平均进程数,也就是平均进程活跃数,与CPU使用率没有直接关系。可运行状态的进程,是指正在使用 CPU 或者正在等待 CPU的进程,也就是ps命令中看到的处于R(Running或Runable)状态的进程;不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的 I/O 响应,也就是我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep)的进程。不可中断状态实际上是系统对进程和硬件设备的一种保护机制。平均负载其实就是平均活跃进程数,那么最理想的是,每个CPU上运行一个进程,这样CPU能够充分利用。比如当平均负载为2时,在只有2个CPU的系统上,每个CPU充分利用;在有4个CPU的系统上,只有一半的CPU得以利用;在1个CPU系统上,有一半的进程处于等待状态。

2、平均负载率为多少合理

       平均负载率等于CPU个数的时候是最理想的状态,因此首先需要知道系统中CPU的个数,可以通过top命令、mpstat命令或者读取/proc/cpuinfo文件中读取,例如:

# 关于 grep 和 wc 的用法请查询它们的手册或者网络搜索
$ grep 'model name' /proc/cpuinfo | wc -l
2

当平均负载率高于CPU数量70%的时候,就要分析排查负载率高的原因了,一旦负载过高就可能导致进程响应速度变慢。

3、平均负载与CPU使用率

       平均负载是指单位时间内处于可运行状态和不可中断状态的进程数,所以,他不仅包括正在运行的进程还包括等待CPU的ji

进程和等待IO的进程。而CPU使用率是CPU单位时间内繁忙情况的统计,两者不一定一致,比如:

  • CPU密集型进程,使用大量 CPU 会导致平均负载升高,两者不一致;
  • I/O密集型进程,等待IO也会导致平均负载高,但是CPU利用率不会升高;
  • CPU等待型进程,等待CPU会导致平均负载升高,同时CPU利升高;

二、常用命令

1、top

2、uptime

3、iostat

4、mpstat

5、pidstat

三、总结

        平均负载提供了一个快速查看系统整体性能的手段,反映了整体的负载情况。但只看平均负载本身,我们并不能直接发现,

到底是哪里出现了瓶颈。

 

 

 

 

.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值