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到后台服务器,负载均衡会与后台服务器建立自己的长连接,会重新分发连接。

相关文章推荐

JAVA并发处理经验(四)并行模式与算法6:socket的服务端多线程

一、前言 关于网络编程,这一章一般用NIO编程,但是我们得一步步,免得扯着蛋蛋。我们先温习一下,socket的服务器---客户端;我们适用服务端用线程池,线程池没有懂得小火炮,看以前的,或者直接问群里...

nginx设置proxy_pass长连接

1. HTTP 1.0默认不显式启用"Connection: Keep-Alive" 2. proxy_http_version 默认为1.0版本 3. proxy_set_header Connec...

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

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

Nginx反向代理支持长连接

Nginx upstream与后端的连接默认为短连接,通过HTTP/1.0向后端发起连接,并把请求的"Connection" header设为"close"。Nginx与前端的连接默认为长连接,一个用...

Nginx对长连接的处理及HTTP协议中body长度的确定

长连接  背景: http请求是基于TCP协议之上的,那么,当客户端在发起请求前,需要先与服务端建立TCP连接,而每一次的TCP连接是需要三次握手来确定的,如果客户端与服务端之间网络差一点,这三次交互...

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

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

NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64

NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64 2014-05-03 16:18:20 分类: 一 前言 当管理...

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

http {   keepalive_timeout 20; --长连接timeout keepalive_requests 8192; --每个连接最大请求数 } events {...

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

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

httpclient、Nginx、tomcat之间请求长连接一致问题

线上服务出现“服务端长连接与客户端短连接引起Nginx产生大量"TIME_WAIT"状态的线程”的问题分析解决”,这个是由于“服务端使用HTTPs长连接,而客户端使用短连接”引起。这几天,发现Ngin...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nginx长连接
举报原因:
原因补充:

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