nginx配置负载均衡后访问变慢的问题

利用nginx+tomcat配置负载均衡,配了两台tomcat,直接访问tomcat速度是很快的,但是配置完后访问速度变得很慢,然后查看了nginx的错误日志:

upstream timed out (10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond) while connecting to upstream, client: 183.128.230.122, server: www.xxx.com, request: “POST /ytx/web/check/tasklistJson HTTP/1.1”, upstream: “http://120.27.203.130:8083/ytx/web/check/tasklistJson”, host: “www.xxx.com”, referrer: “http://www.xxx.com/ytx/web/home/checkTask”

解决办法:在upstream里加上ip_hash,然后访问就正常了。

 upstream group1{
            ip_hash;
            server localhost:8080 ;
            server localhost:8081 ;
       }

原理分析:

        ip_hash是根据ip分配吧,默认是轮询的,看你的情况应该是有一台主机挂了,然后刚好轮询到这台主机,所以需要等它响应超时才分配到另一台主机,而改成ip_hash的话应该是你本地ip刚好分配到好的那台主机,但其他ip则有可能访问到挂了的那台,到时候同样会出现长时间等待的情况。你这里应该设置proxy_connect_timeout的值,把连接超时设置的低一点,到时候访问主机响应时间超过设定时间后,就会访问另外的主机。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值