晚上我登陆网站时发现后台输入账号密码后一直现在在登陆中,我以为是账号密码不对,重新输入后还是同样的问题,网站可以正常的浏览,可后台就是无法登陆,一直显示登陆中,我以为是插件问题造成的,登陆服务器进行查看发现网站负载率一直是在80-100%之间,网站卡的很,至此问题找出来了,具体什么是负载率,咱接着往下看。
宝塔的负载状态图表中百分比的含意:
50% 以下 – 此时服务器正以低负载状态运行
50 ~ 90% – 服务器负载正常,用户的请求可以及时得到服务器响应
90% ~ 100% – 表示服务器资源已耗尽,无法及时响应用户请求,需尽快排查项目是否运行异常,或增加服务器配置影响。
服务器负载的因素:
1、CPU使用率
2、线程数量
3、IO使用率
4、swap使用率
5、因宿主机负载过高导致资源分配不足如阿**的突发性能机器,即使你看你上面4个数据正常都,但你的负载有时就是很高,就有可能是宿主机限制导致的。
下面我们以机动车道路来例举服务器在不同负载状态时的表现假设:
CPU核心数 = 车道数量
内存 = 车道宽度
磁盘IO = 车道限速
服务器负载过高的原因是什么?
1、带宽不足:服务器被攻击或者高频访问流量涌入都可能导致网站带宽不足出现网站卡的情况。
2、内存不足:运行的程序或者数据库可能太大,我们的服务器太小,都可能导致我们内存不足使得服务器卡顿。
3、CPU负载过高100%:程序错误或者运行数据量过大都可能导致CPU负载高而导致服务器卡顿。
4、硬盘满了:硬盘满了会导致服务器卡死,可能连远程连接都无法登录。也会引发服务器负载过高情况。
服务器负载过高怎么解决?
1、针对带宽不足的情况我们可以增加带宽,如果带宽足够,是因为服务器被攻击的情况,建议可以使用软件进行应对。
2、针对内存不足的情况,如果不是异常软件导致的,建议升级内存,同时页面尽量静态化访问,动态加载容易导致内存不足。
3、CPU负载过高情况一般是程序出现异常或者数据访问量过大导致,如果正常情况下负载过大应考虑更高核心的CPU进行升级配置。
4、硬盘满了建议对接服务器供应商扩容,如果进不去服务器可以到供应商选择内网访问,通过SHH登陆后进行删除部门无用资料,然后在进行访问。