优化nginx[超时时间/fastcgi参数]

8.优化nginx连接参数调整超时时间

1)连接超时可以保护服务器资源。简单的说,连接超时是服务的一种自我管理、自我保护的重要机制。

一般Java程序需要长链接,处理效率高。

2)连接超时带来的问题

·服务器建立新连接也是要消耗资源的,因此,超时设置的太短而并发太大,就会导致服务器瞬间无法响应用户的请求,导致体验下降;

·企业生产有些PHP程序站点希望设置短连接,因为PHP程序建立连接消耗的资源和连接要少;而Java程序站点一般建立设置长连接,因为Java程序建立连接消耗的资源和时间更多,这是语言运维机制决定的。

3)nginx连接超时的参数设置:

 keepalive_timeout    60;            # 设置客户端连接保持会话的超时时间
 tcp_nodelay                         # 提高IO性能。
 client_header_timeout 15;           # 设置读取客户端请求头数据的超时时间
 client_body_timeout 15;             # 设置读取客户端请求主体数据的超时时间
 send_timeout 60s;       # 客户端和服务器建立谅解超过25s不发送任何数据,nginx关闭连接  
 client_max_body_size 8m;

备注:

keepalive_timeout    60;

设置客户端连接保持会话的超时时间,超过60s,服务器会关闭连接(此参数为参考值)

keepalive_timeout参数的官方说明:

syntax: keepalive_timeout timeout[header_timeout]  #参数语法
defult: keepalive_timeout 75s    #参数默认大小
context: http,server,location    #参数可以放置的位置




9.nginx fastcgi常用参数

fastcgi_connect_timeout

表示nginx服务器和后端fastcgi服务器连接的超时时间。

默认值为60,这个值通常不要超过75s,因为建立的连接越多消耗的资源就越多。

fastcgi_send_timeout

设置nginx允许fastcgi服务端返回数据的超时时间,即在规定时间内后端服务器必须传完所有的数据。否则,nginx将断开这个连接,默认值为60s。

fastcgi_read_timeout

设置nginx从fastcgi服务端读取数据响应信息的超时时间。

表示连接建立成功后,nginx等待后端服务器的响应时间,是nginx以及进入后端的排队之中等候处理的时间。

  fastcgi_cache ngx_fcgi_cache;
  fastcgi_cache_valid 200 302 1h;
  fastcgi_cache_valid 301 1d;
  fastcgi_cache_valid any 1m;
  fastcgi_cache_min_uses 1;
  fastcgi_cache_use_stale error timeout invalid_header http_500;
  fastcgi_cache_key http://$host$request_uri;
fastcgi_connect_timeout 240;
fastcgi_send_timeout 240;
fastcgi_read_timeout 240;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
#fastcgi_temp_path /data/ngx_fcgi_tmp;
fastcgi_cache_path /data/ngx_fcgi_cache levels=2:2 keys_zone=ngx_fcgi_cache:512m inactive=1d max_size=40g;

更多优化见:http://7826443.blog.51cto.com/7816443/1705051

时间: 2024-11-14 00:21:20

优化nginx[超时时间/fastcgi参数]的相关文章

python设定并获取默认的套接字超时时间

当需要处理socket库某些属性的默认值,例如套接字超时时间.你可以创建一个套接字对象实例,调用settimeout()法设定一个超时时间,在调用gettimeout()方法获取默认的超时时间,.这种操作在开发服务器应用时很有用. 技术点解析: 1.定义socket_timeout()函数,注意函数缩进格式. 2.socket库中的类函数创建一个套接字对象 使用socket.socket(socket.AF_INET,socket.SOCK_STREAM)首先创建了一个套接字对象socket()

Nginx中FastCGI参数优化

FastCGI: FastCGI是从CGI发展改进而来的.传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器.这在处理高并发访问时,几乎是不可用的.另外传统的CGI接口方式安全性也很差,现在已经很少被使用了. FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程.当HTTP服务器每次遇到动态程序时,可以将其直接交付给Fast

转 Nginx+FastCGI到底是谁影响超时时间

需求: 一个php程序要跑一段时间,但是时间不确定. 问题: 当该php程序运行超过一段时间被强制断开连接. PHP本身超时处理 在 php.ini 中,有一个参数 max_execution_time 可以设置 PHP 脚本的最大执行时间,但是,在 php-cgi(php-fpm) 中,该参数不会起效.真正能够控制 PHP 脚本最大执行时: <value name="request_terminate_timeout">0s</value> 就是说如果是使用

nginx+FastCGI到底是谁影响超时时间

需求: 一个php程序要跑一段时间,但是时间不确定. 问题: 当该php程序运行超过一段时间被强制断开连接. PHP本身超时处理 在 php.ini 中,有一个参数 max_execution_time 可以设置 PHP 脚本的最大执行时间,但是,在 php-cgi(php-fpm) 中,该参数不会起效.真正能够控制 PHP 脚本最大执行时: <value name="request_terminate_timeout">0s</value> 就是说如果是使用

Ngnix中的fastcgi参数性能优化和解释

优化性能参数设置,在ngnix.conf中的http 层加上fastcgi参数如下: http { fastcgi_cache_path  /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10m inactive=5m; fastcgi_connect_timeout=300; fastcgi_send_timeout=300; fastcgi_buffer_size=64k; fastcgi_buffers 4 64k; fas

Nginx优化——连接超时,进程管理,压缩,防盗链(二)

Nginx实现连接超时 在企业网站中,为了避免同一个客户长时间占用连接,造成资源浪费,可设置相应的连接超时参数,实现控制连接访问时间 使用fiddler工具查看connection参数 超时参数 Keepalive_timeout设置连接保持超时时间,一般可只设置该参数,默认为65秒,可根据网站的情况设置,或者关闭,可在http段,server段,或者location段设置Client_header_timeout指定等待客户端发送请求头的超时时间Client_body_timeout设置请求体

nginx优化篇之Linux 内核参数的优化

原博客地址(欢迎访问):http://www.loveyqq.tk/blog/2014/05/27/nginxyou-hua-pian-zhi-linux-nei-he-can-shu-de-you-hua/ 由于默认的Linux内核参数考虑的是最通用的场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,使得Nginx可以拥有更高的性能. 在优化内核时,可以做的事件很多,不过,我们通常会根据业务特点来进行调整,当Nginx作为静态Web内容服务器.反向代理服

C# 给某个方法设定执行超时时间 C#函数运行超时则终止执行(任意参数类型及参数个数通用版)

在某些情况下(例如通过网络访问数据),常常不希望程序卡住而占用太多时间以至于造成界面假死. 在这时.我们可以通过Thread.Thread + Invoke(UI)或者是 delegate.BeginInvoke 来避免界面假死, 但是这样做时,某些代码或者是某个方法的执行超时的时间还是无法操控的.那么我们又是否有一种比较通用的方法.来设定某一个方法的执行超时的时间,让该其一旦超过指定时间则跳出指定方法.进而继续向下执行呢? 答案当然是肯定的. delegate.BeginInvoke可以实现代

Nginx+Apache+PHP超时时间设定

今天在做一个数据导入,超时时间一直设置不对,经过几轮查询以后,才知道需要做如下多环节的配置. Nginx需要配置如下超时配置 fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; 如果使用的是Nginx的代理服务,需要添加如下配置 location / { proxy_read_timeout 300; } PHP端需要修改如下配置 max_execution_time = 300 max