近期开发过程中 遇到的502和504 记录
- 服务运行期间 php-fpm 异常终止 导致502
#解决 重启php-fpm
/usr/local/php/sbin/php-fpm
#如果不可行 或者 出现扩展不可用的情况 需要重新启动 并绑定PHP配置
/usr/local/php/sbin/php-fpm -c /usr/local/php/bin/php.ini
#这个是我解决502的办法
- mysql查询时间过长 接口等待响应超时 导致504
优化sql语句 在60s以内
因为要在1000w数据中 随机统计某几天的query和搜索数要使用的sql查询时间超过1min20s 显然这个我没有优化成功
语句如下
SELECT DISTINCT query AS query,SUM(`pv`) AS pv,SUM(`uv`) AS uv,ctime
FROM query_pull q1 JOIN
(SELECT DISTINCT ROUND(RAND() * ((SELECT max(id) FROM query_pull)-(SELECT min(id) FROM query_pull)) + (SELECT min(id) FROM query_pull)) AS nid
from query_pull
) q2
ON q1.id=q2.nid WHERE unix_timestamp(ctime) BETWEEN 1556812800 AND 1556899200 GROUP BY query ORDER BY pv DESC LIMIT 200;
通过nginx.conf 添加配置
http{
....
fastcgi_read_timeout 300; #调整为300s时间 根据自己的情况定 一般300足够
....
server{.....
}