HTTP Keepalives

默北 NginxHTTP Keepalives已关闭评论15,7152字数 754阅读2分30秒阅读模式

nginx与upstream之间启用HTTP Keepalives有助于提供性能,减少连接的等待时间,并可以减少对端口的占用,避免大流量情况下,端口耗尽。

HTTP协议使用TCP连接传输的HTTP请求和接收HTTP响应的。HTTP Keepalive 允许对这些TCP连接的复用,从而避免了创建和销毁的每个请求连接的开销。文章源自运维生存时间-https://www.ttlsa.com/nginx/http-keepalives/

httphttp文章源自运维生存时间-https://www.ttlsa.com/nginx/http-keepalives/

HTTP使用这个过程被称为“存活”的保持TCP连接。如果客户端需要进行另一次HTTP事务,它可以利用这个闲置的“存活连接”,而不是创建一个新的TCP连接。文章源自运维生存时间-https://www.ttlsa.com/nginx/http-keepalives/

Nginx是一个完整的代理,管理从客户端(前端存活的连接)到服务端(上游存活连接)的连接。文章源自运维生存时间-https://www.ttlsa.com/nginx/http-keepalives/

http文章源自运维生存时间-https://www.ttlsa.com/nginx/http-keepalives/

NGINX保持“存活连接高速缓存”,一套闲置的保活连接到上游服务器,当它需要转发一个请求到上游,它会从缓存中已经建立的连接,而不是创建一个新的TCP连接。这就减少了NGINX和上游服务器之间等待时间,并减少端口使用。所以NGINX能够吸收和负载平衡​​大量的流量。在突发大流量下,高速缓存可能被耗尽,在这种情况下NGINX将与上游服务器建立新的HTTP连接。文章源自运维生存时间-https://www.ttlsa.com/nginx/http-keepalives/

这种技术有时被称为“复用”,“连接池”,“连接复用”,或在传统的负载均衡术语中称为“OneConnect”。文章源自运维生存时间-https://www.ttlsa.com/nginx/http-keepalives/

keepalive连接缓存配置如下:

server {
   listen 80;
   location / {
      proxy_pass http://backend;
      proxy_http_version 1.1;
      proxy_set_header Connection ""
   }
}

upstream backend {
   server webserver1;
   server webserver2;

   # maintain a maximum of 20 idle connections to each upstream server
   keepalive 20;
}
文章源自运维生存时间-https://www.ttlsa.com/nginx/http-keepalives/文章源自运维生存时间-https://www.ttlsa.com/nginx/http-keepalives/
weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北
  • 本文由 发表于 21/10/2014 01:00:23
  • 转载请务必保留本文链接:https://www.ttlsa.com/nginx/http-keepalives/