最近压测出现很多 upstream connection timed out 502的错误
Nginx 1.1.14版本以前与后端upstream服务器建立的都是短链接,即通过HTTP/1.0向后端发起连接,并把请求的"Connection" header设为"close"。这样nginx往upstream后端发请求时,也会消耗很多的时间与带宽,如果让nginx与upstream后端建立起长链接,从nginx发起的请求就可以挑选一个合适的长链接发往upstream后端服务器,这样即可以节省带宽,也可以提高响应速度。
优化配置如下:
upstream httpd {
server 127.0.0.1:888;
keepalive 1024;
}
server {
location / {
proxy_set_header Conection "";
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_pass http://httpd;
}
}