nginx长连接

原创 2016年08月29日 22:53:55

nginx长连接

很多参考教程都说设置nginx长连接是设置keepalive_timeout,往往忽视了keepalive_requests,nginx的keepalive_requests默认是100,一个长连接100次和短连接也差不多了。

keepalive_timeout含义

长连接有tcp/ip层面和http层面的,http1.1默认是长连接的,一般也只需要设置http层面的,即keepalive_timeout.

keepalive_timeout time表示一个长连接如果在time秒没有数据传输,nginx将会主动断掉该连接。nginx默认是75s,一般qps比较大时可以将该时间改小,建议timewait状态的连接数。

keepalive_requests含义

keepalvie_requsts 100表示一个长连接最多接收100次数据传输,nginx将会断掉该长连接。nginx默认是100次。

综述

所以,nginx的http层的长连接由上述两个参数共同控制。

实战经验

如果负载均衡使用4层的,开启了长连接,长连接建立起来后,4层的负载均衡并不能控制该连接。如果参数设置不合理,如keepalive_requests比较大时,负载均衡停止一台机器的权重,但该机器上已经建立起来的长连接会在很长一段时间存活,并且这些长连接一直在一个进程,这些会造成负载不均匀问题。

使用7层的负载均衡就无所谓了,因为负载均衡会upstream到后台服务器,负载均衡会与后台服务器建立自己的长连接,会重新分发连接。

nginx配置长连接---keepalive相关

http {   keepalive_timeout 20; --长连接timeout keepalive_requests 8192; --每个连接最大请求数 } events {...
  • senlin1202
  • senlin1202
  • 2017年01月19日 16:44
  • 5827

Nginx反向代理支持长连接

Nginx upstream与后端的连接默认为短连接,通过HTTP/1.0向后端发起连接,并把请求的"Connection" header设为"close"。Nginx与前端的连接默认为长连接,一个用...
  • wangkai_123456
  • wangkai_123456
  • 2017年05月12日 12:52
  • 3351

Nginx代理webSocket经常中断的解决方案, 如何保持长连接

背景这天气够热的,要处理的事情也够多的。。。。 想看解决的,直接 ctrl+f搜索关键字‘配置点’开始前交代(想看原因的看这个,个人观点,不代表正确)解说:今天用nginx反代通讯项目,发现平均1分钟...
  • Jack______
  • Jack______
  • 2017年08月02日 17:39
  • 6648

nginx 长连接

问题:nginx与后端upstream下面的服务器建立的都是短链接。这样nginx往upstream后端发请求时,也会消耗很多的时间与带宽,如果让nginx与upstream后端建立起长链接,从ngi...
  • neutrojan
  • neutrojan
  • 2015年01月08日 12:18
  • 6320

Nginx中的长连接

在nginx中,对于http1.0与http1.1是支持长连接的
  • ws891033655
  • ws891033655
  • 2014年08月08日 13:27
  • 3762

nginx学习(四)——基础概念之keepAlive,pipe与长连接

当然,在nginx中,对于http1.0与http1.1也是支持长连接的。什么是长连接呢?我们知道,http请求是基于TCP协议之上的,那么,当客户端在发起请求前,需要先与服务端建立TCP连接,而每一...
  • xxcupid
  • xxcupid
  • 2016年09月11日 10:39
  • 1348

tcp长连接和保活时间

TCP协议中有长连接和短连接之分。短连接在数据包发送完成后就会自己断开,长连接在发包完毕后,会在一定的时间内保持连接,即我们通常所说的Keepalive(存活定时器)功能。 默认的Keepalive超...
  • u012654882
  • u012654882
  • 2016年09月28日 15:17
  • 3785

nginx释放请求与tcp连接

前面的文章分析了nginx服务器如何接收http请求行、请求头部、然后调用各个模块共同协作处理请求、以及接收包体等过程。现在来分析下nginx服务器是如何结束一个http请求的(关闭http请求与tc...
  • ApeLife
  • ApeLife
  • 2017年07月08日 06:10
  • 1435

[线上问题] Nginx与Tomcat、Client之间请求的长连接配置不一致问题分析解决

前些天,线上出现“服务端长连接与客户端短连接引起Nginx产生大量"TIME_WAIT"状态的线程”的问题分析解决”,这个是由于“服务端使用HTTPs长连接,而客户端使用短连接”引起。这几天,发现Ng...
  • English0523
  • English0523
  • 2016年10月19日 13:26
  • 2066

nginx连接后端服务时,使用upstream的方式,并且设置keepalive可以建立长连接,减少创建连接的消耗,提升效率

nginx连接后端服务时,使用upstream的方式,并且设置keepalive可以建立长连接,减少创建连接的消耗,提升效率。 但是,nginx默认采用http1.0协议,如果后端没有返回Con...
  • gxl0805
  • gxl0805
  • 2014年04月22日 10:40
  • 3744
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nginx长连接
举报原因:
原因补充:

(最多只允许输入30个字)