Apache-2.2

網路中負載平衡的 Web 伺服器出現故障時的問題

  • August 12, 2016

我有一個由一個負載均衡器伺服器(使用 nginx)lb1組成的網路,它在四個 Web 伺服器web1web2web3web4之間路由流量。這四個網路伺服器被路由到使用 nginx 中的循環。

所有伺服器都設置為max_fails=1fail_timeout=5s,因此當伺服器關閉時,如果它不線上,它應該很快被忽略。

我應該注意到,如果所有四個 Web 伺服器都線上,則每個 Web 伺服器的網頁的平均響應時間約為 50-150 毫秒。當只有一個 Web 伺服器處於離線狀態時,就會出現問題。當一個人離線並且使用者嘗試載入另一個頁面時,響應時間在 50 毫秒到 25 秒之間變化。是的,25

我很困惑,因為我認為循環和 fail_timeout 設置會使它如此,因此離線伺服器將被忽略。

附加的,可能相關的註釋:所有四個 Web 伺服器都執行 apache 和 php5,並且在四個之間啟用了 memcached。

看來你誤解了fail_timeout參數。請重新閱讀文件

與伺服器通信的指定次數的不成功嘗試碰巧認為伺服器不可用的時間;

該參數不限制每次此類嘗試的時間,它是關於在指定時間段內應該發生多少次以將伺服器視為關閉並停止將請求定向到它。

您應該調整和指令,proxy_connect_timeout並增加proxy_send_timeout``proxy_read_timeout``fail_timeout

引用自:https://serverfault.com/questions/796539