天天看點

lvs調優之ipvsadm --persistent 與--set

首先show一下ipvsadm -h對這兩個參數的注釋

--persistent   -p [timeout]         persistent service //持久服務

--set tcp tcpfin udp        set connection timeout values //連結的逾時時間

1. --persistent   -p [timeout]

    持久服務逾時時間設定參數,真對一些需要保持狀态的應用,例如一些http應用、ftp、ssl等。 在參數的時間範圍内同一使用者(client IP)的多次通路會被ipvs配置設定到同一台realserver上。

2. --set tcp tcpfin udp

   真對連結的逾時時間。以tcp為例,一個tcp連接配接建立後會傳輸N個封包, 當兩個封包相繼到達的時間差在逾時時間内就會被轉發到同一台realserver上進行處理, 若時間差大于逾時時間就會根據排程算法重新選擇realserver,連接配接就有可能出現異常。 ipvs是根據client IP  和 client port來識别是不是同一個連結發的封包。

3. 兩者的差別與聯系

差別:

       persistent 是提供對有持久服務需要的支撐, 是在逾時時間内将同一個client IP的連結分發到同一個realserver上,比較宏觀一些;

       set 是針對一次連結兩個相繼到達封包的逾時時間定義, 這個值在單一一次連結内有效,比較微觀一些。

   聯系:

       persistent值大于等于set時,持久服務分發逾時以persistent的設定為準。

       persistent值小于set時,持久服務分發逾時會以(s/60)*60 + p%60 + 60為準(當persistent值逾時後, 會将persistent自動指派為60,逾時後繼續将persistent自動指派為60....直到set逾時persistent再次逾時未知)。

      本文轉自Tenderrain 51CTO部落格,原文連結:http://blog.51cto.com/tenderrain/1591843,如需轉載請自行聯系原作者

繼續閱讀