使用Nginx中遇到的一个小问题思考
我们知道在现在的网站开发中,随着请求量的快速增长,我们经常会用到负载均衡
以便使用多个网站共同支撑网络的请求,为了能让请求按照一定的规律分配给各个支撑服务器,我们会使用一些负载均衡来对请求进行分发
最常见的负载均衡 就是Nginx了
但今天 配置Nginx时,发现当有一台服务器挂了之后,整个整个请求会变得超慢
在博客园中发现了 nginx超时时间配置 这篇文章说到了其中的原因,主要是nginx 的配置文件中 代理连接超时时间 proxy_connect_timeout 默认值过大导致 proxy_connect_timeout 默认了10s
也就是说,当一台服务器挂了之后,如果nginx将请求分发到了这台服务器,那么nginx会等待这台服务器的连接 10s 才会将请求转发到其他正常的服务器,后面如果有请求被转发到这台服务器又会等待10s,再转发到其他服务器,
如果发现这种情况,我们只要将 proxy_connect_timeout 的等待时间改小点就可以了,一般可以控制字2s左右