nginx——优化 Nginx 链接超时时间

1. 什么是链接超时php

(1) 举个例子,某饭店请了服务员招待顾客,可是如今饭店不景气,所以要解雇掉一些服务员,这里的服务员就至关于 Nginx 服务创建的链接node

(2) 当服务器创建的链接没有接收处理请求时,能够在指定的时间内让它超时自动退出python

2. 链接超时的做用程序员

(1) 将无用的链接设置为尽快超时,能够保护服务器的系统资源(CPU、内存、磁盘)后端

(2) 当链接不少时,及时断掉那些创建好的但又长时间不作事的链接,以减小其占用的服务器资源服务器

(3) 若是黑客攻击,会不断地和服务器创建链接,所以设置链接超时以防止大量消耗服务器的资源并发

(4) 若是用户请求了动态服务,则 Nginx 就会创建链接,请求 FastCGI 服务以及后端 MySQL 服务,设置链接超时,使得在用户容忍的时间内返回数据app

3. 链接超时存在的问题运维

(1) 服务器创建新链接是要消耗资源的,所以,链接超时时间不宜设置得过短,不然会形成并发很大,致使服务器瞬间没法响应用户的请求tcp

(2) 有些 PHP 站点会但愿设置成短链接,由于 PHP 程序创建链接消耗的资源和时间相对要少些

(3) 有些 Java 站点会但愿设置成长链接,由于 Java 程序创建链接消耗的资源和时间要多一些,这时由语言的运行机制决定的

4. 设置链接超时

(1) keepalive_timeout :该参数用于设置客户端链接保持会话的超时时间,超过这个时间服务器会关闭该链接

(2) client_header_timeout :该参数用于设置读取客户端请求头数据的超时时间,若是超时客户端尚未发送完整的 header 数据,服务器将返回 "Request time out (408)" 错误

(3) client_body_timeout :该参数用于设置读取客户端请求主体数据的超时时间,若是超时客户端尚未发送完整的主体数据,服务器将返回 "Request time out (408)" 错误

(4) send_timeout :用于指定响应客户端的超时时间,若是超过这个时间,客户端没有任何活动,Nginx 将会关闭链接

(5) tcp_nodelay :默认状况下当数据发送时,内核并不会立刻发送,可能会等待更多的字节组成一个数据包,这样能够提升 I/O 性能,可是,在每次只发送不多字节的业务场景中,使用 tcp_nodelay 功能,等待时间会比较长

http {

include mime.types;

server_names_hash_bucket_size 512;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

tcp_nodelay on;

client_header_timeout 15;

client_body_timeout 15;

send_timeout 25;

include vhosts/*.conf;

}

做者简介: 
陈志珂(头条号:强扭的瓜很差吃)公众号“铅笔学园”运维内容合做做者之一,目前就任于中国最大的安卓应用软件公司,任高级工程师如今公司任php开发工程师,python开发工程师,高级运维工程师。
铅笔学园:IT资源分享|知识分享,作初级程序员的指明灯

相关文章
相关标签/搜索