博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx配置文件中的超时字段
阅读量:7100 次
发布时间:2019-06-28

本文共 1138 字,大约阅读时间需要 3 分钟。

背景:开发今天问我如果要缩短和后端服务器的保活时间,是否要缩短keepalive_timeout的时间,答案是否定的。所以突然就想整理一些关于超时字段的配置信息;

那么下面我总结下经常用的,在nginx配置中设置的超时字段;

1 keepalive_timeout

默认值 75s
指定了nginx与client的keep-alive连接超时时间,服务器将会在这个时间后关闭连接。
后面还有个可选项,表示使用Keep-Alive消息头保持活动的有效时间,若超过此时间,使用Keep-Alive消息头保持与客户端某些浏览器会主动与服务器断开连接。

2 send_timeout指令

此指令设置nginx服务器响应客户端的超时时间,当客户端和nginx建立连接后,如果这个时间后客户端没有任何活动,nginx服务器将会关闭连接。

3 client_header_buffer_size指令

该指令设置nginx服务器允许的客户端请求头部的缓冲区大小,默认为1KB,此值可以根据系统分页来设置
getconf PAGESIZE命令可以得出值为4K; nginx日志中400的报错就是这个缓冲区太小引起的。

4 multi_accept

该指令用于配置nginx服务器是否尽可能多地接收客户端的网络连接请求,默认为off

5 proxy_connect_timeout

默认值 60s
指定nginx与后端server的连接超时时间,这个超时时间不能超过75s

6 proxy_read_timeout

默认值 60s
决定了nginx会等待多久来获得请求的相应, 并非获取整个response的时间

7 proxy_send_timeout

默认值 60s
指定了发送请求给upstream服务器的超时时间。如果超时后,upstream没有收到新的数据,nginx会关闭连接

8 proxy_upstream_fail_timeout

默认值 10s
设置了某一个upstream后端失败了指定次数(max_fails)后,该后端不可操作的时间,默认是10s

9 net.core.netdev_max_backlog参数

表示当每个网络接口接受数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包的最大数目,一般默认值是128,nginx服务器中定义的NGX_LISTEN_BACKLOG默认是511。

10 net.core.somaxconn参数

该参数用于调节系统同时发起的TCP连接数,一般默认值为128,在客户端存在高并发请求的情况下,默认值偏小,可能导致链接超时或者重传

转载于:https://blog.51cto.com/wenxi123/2149715

你可能感兴趣的文章
网络学习笔记:TCP/IP连网和Internet
查看>>
栈实现迷宫问题
查看>>
POJ2724 Purifying Machine(二分图)
查看>>
[ISSUE]fail to forward message:TypeError: Cannot read property 'msgRemote' of undefined
查看>>
new 和 malloc 的区别 (转载)
查看>>
L2-004. 这是二叉搜索树吗?
查看>>
【操作系统】实验三 进程调度模拟程序
查看>>
LR分析法
查看>>
js冒泡排序
查看>>
创建Android本地repo
查看>>
<context-param>与<init-param>的区别与作用
查看>>
师傅赠言
查看>>
<script type="javascript"> 与<script language="javascript"> 有什么区别啊
查看>>
一些记不住的问题
查看>>
利用zabbix监控ogg进程(Linux平台下)
查看>>
网页设计常用的图片格局及其用法
查看>>
MFC中编辑框数字限制范围
查看>>
【BZOJ2705】【SDOI2012】Longge的问题
查看>>
HDU2433 最短路 + 剪枝优化
查看>>
Linux系统调优
查看>>