网站、系统负载高排查总结

总结:
如果以后出现报警各网站无法ping通,或者服务器负载过高,可通过以下几条途径查找原因:
1,查看访问日志,查看是否有访问异常,如有,过滤IP,进行IP封装

  cat my.xoyo.com | awk ‘{print $1}’ | sort | uniq –c | sort –n >/tmp/ip.txt
  netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort –n

2,查看网卡是否有严重丢包现象,ifconfig查看dropped 或error是否不断增加,判断是否网卡出现问题。
  netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 查看各阶段连接状况
  SYN_SENT(请求连接)  ESTABLISHED(通信中)状态的是否连接明显太多

  netstat -n | grep "ESTABLISHED"|awk '{print $5}'|sort |uniq -c|sort -nr
  如发现处于本状态最多的ip是本机,从而排除是dos攻击的可能

  Ifconfig
  查看dropped 或error是否不断增加,判断是否网卡出现问题。

3,如果日志总是涉及某个项目,查看最近是否有新上线活动或者更新,确定是否程序代码出现问题

4,将有问题的项目分别绑定各相关前端机,查看是否访问正常,排除故障服务器

5,查看占用负载较高的一些进程是被哪些程序或应用占用
  Top
  查看系统负载和占用资源较高的进程
  Lsof –p pid号
  查看pid被哪些进程使用

6,查看PHP等主要应用程序端口使用情况,是否被占用
  Lsof –i:端口

7,查看PHP的慢日志,是否有程序文件超时,频繁报错
  Php-fpm.conf 打开php配置文件
  Request_slow_log_timeout 10s
  设置执行超时时间

8,如果上述查找发现问题有关mysql,查看mysql最大连接数是否过低
  show variables like 'max_connections';
  set GLOBAL max_connections=300

你可能感兴趣的:(网站、系统负载高排查总结)