2012-01-03 247 views
1

我们使用Nginx作为多个riak节点的负载均衡器。在Nginx开始提供错误的网关502错误之前,该设置正常工作了一段时间(几个小时)。在检查单个节点似乎正在工作。我们发现这个问题与nginx缓冲区大小有关,因此将缓冲区大小增加到了16k,在我们开始为所有事情获得502错误之前,它仍然正常工作了一天。Nginx负载均衡问题

我的Nginx的配置如下

upstream riak { 
    server 127.0.0.1:8091 weight=3; 
    server 127.0.0.1:8092; 
    server 127.0.0.1:8093;  
    server 127.0.0.1:8094; 

    } 

    server { 
    listen 8098; 
    server_name 127.0.0.1:8098; 
    location/{ 
     proxy_pass http://riak; 
     proxy_buffer_size 16k; 
     proxy_buffers 8 16k; 
    } 
    } 

任何帮助表示赞赏,谢谢。

回答

0

检查您是否在nginx框中使用了fd's。如果在TIME_WAIT状态下有太多的连接,请检查netstat。如果是这样,您需要将tcp_fin_timeout值从默认60秒减少到更小。