NGINX不断向上游发送请求
我有以下负载平衡配置:
虽然我的后端节点稳定,但一切正常.但是,当我关闭其中一个节点(例如10.10.10.2)时,NGINX将继续向其发送流量,即使请求保持超时(因为服务器已关闭).我已经尝试设置max_fails和fail_timeout参数,但行为仍然相同. NGINX是否能够自动检测服务器是否已关闭而不是在那里发送流量?我错过了什么配置? 最佳答案 什么是keepalive?keepalive背后的想法是解决在高延迟网络上建立TCP连接的延迟.建立TCP连接需要3次握手,因此,当客户端和服务器之间存在可感知的延迟时,keepalive会通过重用现有连接来大大加快速度. 为什么大家会把nginx放在他们的后端? Nginx非常有效地处理成千上万的连接,而许多后端因此不会加快速度,人们经常将nginx放在他们真正的Web服务器前面以加快速度,因此云与用户之间的连接将是缓存keepalive以便后续重用. 请注意,根据http://nginx.org/r/keepalive,nginx甚至不支持上游keepalive,因为如上所述,如果你有亚毫秒的延迟,它更有可能使用更多的上游资源而不是加速任何处理.在所有主机之间(例如,在nginx和上游服务器之间). 你看到它的去向吗? 通过在LAN上使用过多的keepalive连接,每个上游服务器只需几百个连接,即使您没有像您所描述的那样遇到问题,也可能只会使速度变慢,而不是更快. 服务/端口关闭时会发生什么? 通常,当主机上的给定端口不可用时,主机立即返回TCP reset packet,known as
您的上述评论可能表明缺少及时连接拒绝的数据包肯定会混淆nginx – 您的设置似乎可能只是丢弃nginx发送的数据包.如果没有对请求做出任何回应,那么如何才能知道您的后端服务是否不可用,而不仅仅是展示企业级行为? 应该怎么做? >首先,正如已经提到的,即使你没有遇到你描述的问题,你也可能只是通过在局域网上使用上游保持活动功能来减慢速度,特别是在这么高的情况下. 这可能包括 (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- nginx – HttpGeoipModule $geoip_country_code为空
- php – 负载均衡:Nginx,Varnish和HTTP会话
- Django uWSGI nginx url映射
- nginx – wordpress登录页面上的连续POST请求 – 黑客尝试?
- http – 访问限制为Heroku静态IP地址的API的好策略是什么?
- Nginx阻止/拒绝访问多个位置正则表达式
- 使用NGINX的WAF owasp modsecurity crs中“尚不支持SecColl
- ruby-on-rails – EC2中的SSL缓慢
- Nginx无法从docker 1.10.1中的嵌入式DNS获取主机
- Nginx和uwsgi超时