Linux
減少負載均衡器造成的延遲
我目前
mod_proxy_balance
在 Apache 中用於負載平衡。我有一個客戶端模擬器,它創建 100 個執行緒並模擬使用者活動,例如瀏覽網站。我嘗試讓客戶端直接與網路伺服器對話,也可以通過負載平衡器。這是我發現的。當客戶端直接與網路伺服器對話時:
- 延遲 = 28 毫秒
當客戶端通過負載均衡器(只有一個後端網路伺服器)與網路伺服器通信時:
- 延遲 = 53 毫秒
當客戶端通過具有兩個後端 Web 伺服器的負載均衡器與 Web 伺服器通信時:
- 延遲 = 113 毫秒
延遲不斷增加,有沒有辦法減少這種延遲?提供令人滿意的 SLO 是一個非常重要的方面。
您應該切換到像 ha_proxy 這樣的負載均衡器,它比 mod_proxy_balancer 更適合且性能更好。
mod_proxy_balancer 效率低下並且有許多錯誤。
我不認為 mod_proxy_balancer 是
epoll
基於 - 的,但最好檢查一下。如果不是基於epoll
系統呼叫,這種延遲的原因很明顯,select
系統呼叫和 Apache 同步處理模型都不是適當的平衡工具。您應該嘗試使用 HAProxy 或 nginx。