閱讀555 返回首頁    go 人物


負載均衡超時問題__負載均衡性能常見問題_常見問題_負載均衡-阿裏雲

負載均衡各監聽連接超時時間如下

TCP 900秒

UDP 300秒

HTTP 60秒

HTTPS 60秒

當前負載均衡未開放超時時間給用戶自行設置,後續會考慮。

Keep-alive 超時時間

如果客戶端訪問 SLB HTTP 監聽時使用長連接, 那麼這條連接最長的空閑時間為 15 秒, 即如果超過 15 秒沒有發送任何 HTTP 請求, 這條連接將會被 SLB 主動斷開。如果您的業務可能會出現超過 15 秒的空閑, 需要檢測連接的斷開並重新發起連接。

為什麼會碰到 VIP 連接訪問超時

注:訪問超時場景很多,本文檔主要是從服務端入手分析

CASE 1 VIP 被安全防護

如流量黑洞和清洗,WAF 防護(waf 的特點是為建連後向 client 和 lvs 雙向發送rst 報文)

CASE 2 客戶端端口不足

尤其容易發生在壓測的時候,客戶端端口不足會導致建立連接失敗,負載均衡默認會抹除 tcp 連接的 timestamp 屬性,linux協議棧的 tw_reuse(time_wait 狀態連接複用)無法生效,time_wait 狀態連接堆積導致客戶端端口不足

解決方法:

客戶端端使用長連接代替短連接。

使用 RST 報文斷開連接(socket 設置 SO_LINGER 屬性) ,而不是發 FIN 包這種方式斷開。

CASE 3 後端服務器 accept 隊列滿

後端服務器 accept 隊列滿,導致後端服務器不回複 syn_ack 報文,客戶端超時。

解決方法:默認的 net.core.somaxconn 參數為128,執行 sysctl -w net.core.somaxconn=1024 或者其它更大的值,並重啟後端服務器上的應用。

CASE 4 從4層負載均衡後端服務器訪問該4層負載均衡 VIP

4層負載均衡,在該負載均衡的後端服務器上再去訪問該負載均衡 VIP,這個目前是無法支持的,會導致連接失敗,常見的場景是用戶後端應用使用 URL 拚接的方式跳轉訪問

CASE 5 對連接超時的 rst 處理不當

負載均衡上建立 TCP 連接後如果 900s 未活動,則會向 client 和 rs 雙向發送 rst 斷開連接,有的應用對 rst 異常處理不當,可能會對已關閉的連接再次發送數據導致應用超時

最後更新:2016-11-23 17:16:04

  上一篇:go 負載均衡性能指標__負載均衡性能常見問題_常見問題_負載均衡-阿裏雲
  下一篇:go 部署負載均衡集群支持會話同步__常見問題_負載均衡-阿裏雲