负载的定义

在计算机领域,负载(Load)通常指的是系统正在处理的工作量或任务数量。负载可以表示为系统资源的使用情况,如 CPU、内存、磁盘等。

具体来说,负载通常以平均负载(Load Average)来衡量,它是一段时间内系统的平均负载情况。在 Unix/Linux 系统中,负载平均值通常包括最近 1 分钟、5 分钟和 15 分钟的平均负载。

如果平均负载值小于 CPU 核心数量(例如,如果你的服务器有 4 个 CPU 核心,则平均负载小于 4),则表示系统当前负载较轻,可以处理更多的任务。如果平均负载值接近或超过 CPU 核心数量,则表示系统负载较重,可能会影响系统的响应速度和性能。

因此,负载是用来评估系统的繁忙程度和工作状态的重要指标之一。及时监控和管理系统的负载,可以帮助管理员更好地了解系统的运行状况,及时发现负载过重的问题并采取措施来缓解负载压力。

影响服务器负载的因素:
  1、CPU使用率
  2、线程数量
  3、IO使用率
  4、swap使用率
  5、因宿主机负载过高导致资源分配不足
***如阿里云的突发性能机器,即使你看你上面4个数据正常都,但你的负载有时就是很高,就有可能是宿主机限制导致的
下面我们以机动车道路来例举服务器在不同负载状态时的表现
假设:
CPU核心数  = 车道数量   
内存             = 车道宽度     
磁盘IO         = 车道限速

如何查看服务器负载?

使用 uptime 命令:

在终端中输入 uptime 命令,会显示类似以下的输出:

12:34:56 up 1 day, 3:45, 2 users, load average: 0.10, 0.12, 0.15

这个输出中,load average 后面的三个数值分别表示最近 1 分钟、5 分钟和 15 分钟的平均负载。

使用 top 命令:

在终端中输入 top 命令,会显示类似以下的实时系统资源使用情况:

top – 12:34:56 up 1 day, 3:45, 2 users, load average: 0.10, 0.12, 0.15
Tasks: 300 total, 1 running, 299 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.0 us, 0.5 sy, 0.0 ni, 98.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16356788 total, 564780 free, 10990624 used, 4810384 buff/cache
KiB Swap: 2097148 total, 2009648 free, 87500 used. 4499260 avail Mem

在这个输出中,第一行的 load average 后面的三个数值同样表示最近 1 分钟、5 分钟和 15 分钟的平均负载。

检查是哪个进程占用了大量CPU
1、mysqld: 尝试优化mysql
2、php-fpm: 适当限制php并发
php-fpm.conf
pm.max_children = XXX的数值建议是: xxx=机器内存(M) 除以40
3、其它进程: 检查是否中了挖矿木马4、被DDOS:换到高防机房
5、配置过低: 升级服务器

 

作者 admin

百度广告效果展示