Nginx Upstream Keepalive 分析 保持长链接

Nginx Upstream长链接由upstream模式下的keepalive指令控制,并指定可用于长链接的链接数,配置样例以下:php

upstream http_backend {
    server 127.0.0.1:8080;
 
    keepalive 16;
}
 
server {
    ...
 
    location /http/ {
        proxy_pass http://http_backend;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        ...
    }
}

 

目前Nginx只支持反向代理到upstream下配置的server,不支持直接由proxy_pass指令配置的server,更不支持proxy_pass参数中包含变量的状况。此外,为支持长链接,须要配置使用HTTP1.1协议(虽然HTTP 1.0可经过设置Connection请求头为“keep-alive”来实现长链接,但这并不推荐)。html

此外,因为HTTPPROXY模块默认会将反向代理请求的connection头部设置成Close,所以这里也须要清除connection头部(清除头部即不发送该头部,在HTTP 1.0中默认为长链接)。linux

 

 

问题:nginx与后端upstream下面的服务器创建的都是短连接。这样nginx往upstream后端发请求时,也会消耗不少的时间与带宽,若是让nginx与upstream后端创建起长连接,从nginx发起的请求就能够挑选一个合适的长连接发往upstream后端服务器,这样便可以节省带宽,也能够提升响应速度。nginx

 

一、关于nginx upstream长连接的介绍及具体的实现方式后端

http://bollaxu.iteye.com/blog/900424服务器

 

 

二、使用nginx keepalive,网站TPS性能提高对比性能

http://sohulinux.blog.sohu.com/180744817.html网站

相关文章
相关标签/搜索