在LNMP环境下定位常见问题

Written on October 8, 2015

适用环境

  1. linux
  2. nginx
  3. php
  4. mysql
  5. redis

定位常见问题,并不针对特定环境,思路正确即可。仅是本文所使用工具暂时只支持linux + nginx。

基础部署

  1. 对于linux + nginx环境,建议部署nginx访问日志分析监控脚本,实时了解业务运行状况。目前仅对CentOS6.3兼容,支持请求响应状态分析、请求响应时长分析。
  2. php-fpm开启slowlog记录(request_slowlog_timeout),用于分析造成慢请求的backtrace。

定位问题

  1. 分析请求响应状态
  2. 若使用了 基础部署 1. 中提及到的监控脚本,能迅速定位到发生异常或即将发生异常的具体业务及其应用服务器,甚至是具体业务接口。定位精确粒度视监控脚本具体设置而定。
  3. 若未使用,则手工对请求访问日志进行分析,观察响应状态异常部分。 响应异常一般有以下几种情况: 1. 引用不存在文件,或者重定向规则命中失败,导致发生404。 2. 上游(如php)在达到nginx设置的请求超时值时未返回(未作出响应),导致发生499。 3. 上游(如php)有代码错误,导致发生500。 4. 上游(如php)挂死,导致发生502。...

Read More