美文网首页
PHP超时优化

PHP超时优化

作者: 六弦极品 | 来源:发表于2018-07-20 14:42 被阅读0次

一、Nginx的超时配置
1、fastcgi_connct_timeout 60
Nginx和fastcgi进程建立连接的超时时间,默认60秒,如果超过了这个时间就断开连接。

2、fastcgi_read_timeout 300
和fastcgi进程建立连接后获得fastcgi进程响应的超时时间,默认60秒,如果超过了这个时间都没有获得响应就断开连接。我们经常碰到的是'504 Gateway Time-out',就是因为后端连接没有在超时时间内返回数据导致的。我们经常碰到的是'502 Bad Gateway',是因为fastcig进程报错,导致连接断开。

3、fastcgi_send_timeout 300
Nginx向fastcgi进程发送请求的超时时间,默认60秒,如果超过了这个时间都没有发送完就断开连接。可以通过上传比较大的文件,就会出现超时,然后就会返回'504 Gateway Time-out'。

二、PHP,PHP-FPM 的超时配置

1、max_execution_time 300
这个参数是在php.ini中设置的,说实在的这个参数没有什么太大的意义,因为这个300秒的超时时间仅仅是统计本身代码的执行时间,不包括网络请求,系统调用,数据库查询,sleep()等的时间,如果超过这个时间会产生一个'Fatal error: Maximum execution time'的错误,然后返回的是'500 Internal Server Error'。我们程序大部分的时间都是花在网络请求,数据库查询方面的。

2、request_terminate_timeout 0
这个参数是在php-fpm中设置的,这个超时时间就是整个fastcgi花费的所有时间,这个和max_execution_time最大的不同,如果总时间超过了,会直接将FPM进程kill掉,然后返回'502 Bad Gateway'。很多人认为配置了这个参数max_execution_time就失效了,实际不是的,先达到哪个的超时时间就哪个配置起作用的。

建议是不要开启这个参数,因为如果你某个程序超时了,进程直接kill掉,你的数据完整性就没有办法保证了,可以在nginx那边做连接超时的控制和做好程序请求第三方资源超时时间的控制。

三、接口请求方面的超时设置
这部分要特别注意,在没有什么并发量的时候没有什么问题,在并发量大的时候,如果有些对接的第三方系统挂了或是处理速度很慢了,你的FPM进程很快就会用完,然后就是各种502,然后很有可能的就是系统崩溃了。我们在框架层面,对需要用到的请求方法做了统一的封装。

相关文章

  • PHP超时优化

    一、Nginx的超时配置1、fastcgi_connct_timeout 60Nginx和fastcgi进程建立连...

  • PHP性能优化之连接超时

    这里抛出一个常见问题:PHP环境下脚本运行超时,尤其是处理后台服务数据处理时经常会遇到。 Maximum exec...

  • 3.3 PHP优化

    php.ini优化 设置每个脚本运行的最长时间当无法上传交大的文件或者后台设备数据经常超时,此事需要调整如下设置:...

  • PHP 配置优化

    php.ini 调整 php-fpm.conf 优化 php 项目配置文件(www.conf)优化 重启 php

  • PHP自定义函数设置超时间

    PHP自定义函数设置超时间

  • AFNetworking 设置超时时间及如何判断超时

    AFNetworking 设置超时时间及如何判断超时 最近项目在优化,在连接超时之后要给用户友好提示,这就要设置超...

  • 高性能php开发

    php优化路线 1.前端JavaScript/css/Images 2. php 代码优化tips Opcode缓...

  • php超时处理

    1.Apache一般在性能很高的情况下,缺省所有超时配置都是30秒,但是在上传文件,或者网络速度很慢的情况下,那么...

  • Nginx代理调优

    优化参数 proxy_connect_timeout 600; #nginx跟后端服务器连接超时时间(代理连接超时...

  • PHP程序性能优化大全

    PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini...

网友评论

      本文标题:PHP超时优化

      本文链接:https://www.haomeiwen.com/subject/xrxqmftx.html