线上服务故障紧急处理

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}}'

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注