web优化之nginx优化<四>

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



    这里我们接着web之nginx优化<->继续分析优化Linuxfastcgi参数和调整超时时间的重要性。


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

你可能感兴趣的:(java,服务器,用户,客户端,程序)