1 确认服务器状态(CPU,MEM) 1.1 MySQL 负载高? 1.1.1 找出当前执行超过10秒的查询,如有异常,结合最近的发布情况,确定是否新发布代码引起,如果是,回滚代码。 select * from information_schema.processlist where time>10 and Command!='sleep' order by time; 1.2 FPM 负载高? 1.2.1 查看当前访问的URL,是否同一时刻执行了大量耗时请求 curl 'http://127.0.0.1:10068/fpm_status?full'|grep 'request URI'|awk '{print $3}'|sort|uniq -c 2 确认nginx状态码 2.1 出现大量500 2.1.1 Redis MySQL sphinx 等服务运行状态正常? 2.1.1.1 不正常,重启对应服务 2.1.2 如最近有发布,回滚代码 2.2 出现大量502 2.2.1 确认FPM进程状态,重启 fpm,nginx sudo service php-fpm restart sudo kill `ps -ef|grep fpm|awk '{print $2}'|xargs` sudo service php-fpm start sudo service nginx restart 2.3 出现大量503 2.3.1 nginx 连接 fpm 超时? tail -100000 /logs/user/access_liebiao.log | grep ' 503 ' | awk '{if($NF>=1 && $NF <2){print}}' 重启 fpm 2.3.2 SQL执行超时? tail -100000 /logs/user/access_liebiao.log | awk '{if($NF>=30){print}}'