网站首页 > 技术教程 正文
总结优化的方法就是
- 设置链接复用
- 增加tw_bucket队列大小
- 增加可用端口数量
快速回收,由于引发的一些问题,不建议配置
这些都是系统层面处理TIME_WAIT的方法,在Nginx中,有这么一条配置
reset_timedout_connection
官方文档这么描述
说人话就是,在连接超时后,向客户端发送RST包来直接重置连接,而不是走正常的四次握手断开连接,向客户端发送RST后,不再等待客户端的应答,直接释放这个链接使用的套接字中的所有资源。这样的好处就是服务器端不会产生太多处于FIN_WAIT_1、FIN_WAIT_2、TIME_WAIT状态的TCP连接
需要解释下这里说的连接超时,这个连接超时是指相对的和nginx是直连的客户端的连接,也就是一条连接四元组中的src,不是nginx后端超时,也不是客户端请求超时,这个情况存在于网络状况很差的情况,服务端发送请求后客户端不确认的情况
这里又引申到另外一个配置,即send_timeout,发送响应的超时时间,因为time_wait只存在主动断开的一方,send_timeout默认时间60s,当nginx向客户端发送了响应,但是一直等不到客户端的确认,超过send_timeout的时间后,nginx将关闭这个连接,这个时候就是nginx主动断开的连接
此时,如果nginx开启reset_timedout_connection,就会直接reset这个连接,而不会走正常的四次挥手去断开连接
因为这个环境不太好模拟,所以我们通过另一种方式,即return 444状态码去测试,按照上面官方文档中的解释,444状态码就是用来直接reset连接的
抓包对比下正常403断开和444断开的情况:
上图是正常的四次握手断开连接
接着在nginx中配置return 444,之后再抓包对比
可以看到,服务端直接发送了reset,此时查看服务器连接状态,没有产生time-wait
从上面的分析可以看到,如果使用此配置,可以有效减少客户端网络差的情况,引起的time-wait,但是考虑下面这种场景
服务端由于并发量大,网络拥塞,客户端的确认包迟迟到不了服务端,而服务端接收不到确认包,reset了客户端,客户端会一直无法访问,而客户端访问其他网络是正常的
总结:
在Nginx中,配置一些禁止访问的资源的时候,可以用444,代替403、404等状态码,从而可以减少恶意请求或访问带来的资源消耗,当使用reset_timedout_connection配置时,需要注意它所带来的副作用
- 上一篇: Nginx反向代理慢,该问题如何解决?
- 下一篇: nginx和php-fpm连接超时之解决方法
猜你喜欢
- 2024-10-09 程序员都应该懂的微服务容错与隔离:熔断保护、超时与重试原理
- 2024-10-09 Nginx为什么快到根本停不下来?(nginx解决什么问题)
- 2024-10-09 Nginx代理webSocket经常中断的解决方案,如何保持长连接
- 2024-09-09 怎么测试nginx反向代理(nginx反向代理配置参数)
- 2024-09-09 关于LNMP+Frp内网穿透环境下一个PHP程序运行超时的问题
- 2024-09-09 Nginx反向代理(nginx是干嘛用的)
- 2024-09-09 Nginx这么香,还不知道怎么学?看完这份Nginx笔记你能立马上手
- 2024-09-09 「每天一道面试题」Nginx 502错误原因和解决方法
- 2024-09-09 年轻人你不讲武德,Nginx之负载均衡演示
- 2024-09-09 应用程序加固Nginx篇(如何给应用加固)
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)