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