情景
最近做项目遇到批量导入用户的操作,由于种种原因导入数据超时后504 页面前端还是懵逼状态体验差的一匹。
要优化控制不会超时。
思路历程
1.检查设置php有没有设置超时,发现没有设置
2.怀疑前端上传组件设置超时了,一通查看发现没有
3.nginx 响应超时这是正餐哈哈,查看与超时相关的配置
其他nginx 配置参数:
使用nginx服务器如果遇到timeout情况时可以如下设置参数,使用fastcgi:
keepalive_timeout 600; 连接超时时间
fastcgi_connect_timeout 75; 连接
fastcgi_read_timeout 600; 是指fastcgi进程向nginx进程发送response的整个过程的超时时间
fastcgi_send_timeout 600; 是指nginx进程向fastcgi进程发送request的整个过程的超时时间
这两个选项默认都是秒(s),可以手动指定为分钟(m),小时(h)等
4.以上观察问题发现由于执行时间太久没有跟nginx返回数据导致nginx 任务程序死了 504
可以采用 PHP flush()方法来输出,但是输出的时候存在的问题是输出的内容是jso格式化好的随又采用nginx 增加响应时间来解决。
网友评论