负载高导致服务器变慢处理方法

负载高导致服务器变慢处理方法
负载高导致服务器,网站变慢是运维常见的问题,一般接到运营同事反馈访问网站很慢或收到监控系统的报警,服务器平均负载很高,我们一般处理步骤如下:
进入系统后,我们首先运行top命令查看负载:
一、load average: 0.00, 0.00, 0.00这三个值分别代表 1分钟、5分钟、15分钟前到现在的平均值如果这三个值从左到右越来越高代表服务器平均负载在下降,相反代表服务器的负载在上升,见下图。

负载高导致服务器变慢处理方法_第1张图片
二、接下来看CPU和Mem项判断是cpu负载还是内存消耗太大,一般认为平均负载数超过cpu的核为cpu高负载。内存消耗如果使用swap内存为高消耗
三、如果是cpu负载过高,通过%cpu项占用很高找到对应程序的PID(默认是按cpu占用比从高到低排序,按一下M后就按内存从高到低排序),然后可以通过ps aux | grep PID号 找到进程的详细信息,如果不是很重要的进程,可以直接kill PID直接杀掉,再查找这个进程导致负载高的原因。
网站相关进程导致负载高处理办法:
1、直接把网站php或http或tomcat等网站服务重启,很多时候负载就降下来了。   
2、也可能是网站代码漏洞导致的,需要反馈开发一起查找原因和处理。
3、本人也遇到到重复启动tomcat导致的cpu负载高,把重复的tomcat kill全部掉重新启动就好。
mysql进程导致的负载高处理办法:
1、常见的就是mysql慢查询导致,可以在mysql慢查询日志找到相关sql语句,这需要对sql进行优化
2、还可以进入mysql,用show full processlist\G;查看那个mysql进程执行时间比较久的慢查询。如果是内部后台使用的语句,可以先kill掉,优化后再执行。
3、mysql读写太频繁,如果是读写频繁可以在%wa等待输入输出看的出来占用cpu百分比很大。也可以通过命令iostat查看系统读写情况。
四、其他常见导致服务器、网站打开慢的情况(往后再详细讨论)
1、网站访问量很大,超过服务器能承载的能力
2、服务器中病毒,需要对服务器盘查
3、受到ddos攻击等

你可能感兴趣的:(服务器运维)