什么是平均负载?

平均负载是 Linux 服务器上指定时间段内的平均系统负载。换句话说,它是服务器的CPU所需,包括运行和等待线程的总和。

系统 w、top 、uptime 命令可以显示服务器的平均负载,输出如下所示:

load average 中的数字值以 , 号分开代表是:1、5 和 15 分钟内系统负载的平均值。

在讨论如何衡量负载平均输出以及每个值的含义之前,先看简单的示例:使用单核处理器的服务器。

分解负载:

单核处理器的服务器就像是一排顾客在杂货店等待他们的商品结帐。在高峰时段,通常会排很长的队,每个人的等待时间也很长。

如果您是收银员并想记录等待时间,一个重要的指标是特定时间段内等待的人数。如果没有顾客等待,则等待时间为零。另一方面,如果顾客排长队,则等待时间很长。

将其应用于我们上面得到的平均负载输出 (0.07, 1.26, 2.30): 0.07 表示在柜台的最短等待时间。0.00 到 0.70 之间,负载为最佳。 1.26 表示队列已满。如果平均值变得更高,性能就会降低。 2.30 意味着有相当长的队列等待,并且需要额外的资源/计数器来更快地清理队列。

多核和多处理器:

单个四核处理器和具有四个处理器(每个处理器一个核)的服务器是否相同?相对来说,是的。多核和多处理器的主要区别在于,前者是指单个 CPU 具有多个内核,而后者是指多个 CPU。总结一下:一个四核等于两个双核,也就是四个单核。

平均负载与服务器中可用内核的数量有关,而不是它们在 CPU 上的分布情况。这意味着最大利用率范围是单核:0-1、双核:0-2、四核:0-4、六核:0-6、八核、0-8,依此类推。

再次参考收银员的示例,负载持续为 2.30 时: 单核处理器负载过载,意味着有一半以上进程竞争不到 CPU。 双核处理器负载依然过载,并且有少量进程在等待中。 四核处理器正在消耗中,需要关注负载的走向,如果持续走高则需要进行优化、故障排除。 六核处理器正在消耗中,并且仍有最佳可用空间。

可以得出结果:负载持续为 2.30 时,单核处理器、双核处理器负载状态为过载,这时需要进行优化、故障排除或者增加内核数量。 四核处理器、六核处理器的负载较为理想状态,高于此负载值时需要采取行动进行优化、故障排除,同时还有空间来管理意外增加的负载。

监控平均负载:

为更高的负载值添加资源可能会增加您的基础架构成本。有效管理负载并保持最佳水平以避免服务器性能下降问题是理想的。 以直观且易于理解的图表提供 1、5 和 15 分钟的平均值。可以为负载值设置告警阈值,超过阈值时发送通知,以便我们更清楚服务器负载。