對TCP選項keepalive使用的疑問

2021-08-29 21:46:39 字數 392 閱讀 3053

我設計的伺服器加入了keepalive選項的支援,這個保活機制在內網環境測試是ok的。

前兩天在生產環境,出現了有幾個連線的保活沒起作用的情況,client機器重啟後,server端的socket一直沒有斷開,現在懷疑是和keepalive設定的值有關,以下是我的設定:net.ipv4.tcp_keepalive_intvl = 15

net.ipv4.tcp_keepalive_probes = 2

net.ipv4.tcp_keepalive_time = 300這幾個選項的配置有關。

目前解決的辦法是在伺服器上設定了個命令,可以向所有連線發測試包,如果客戶端重啟了,

**到rst包,之後socket會斷開。

keepalive選項有機會還要在生產環境測試下,挺想不通的:)

Apache開啟KeepAlive選項

關於keepalive的選項在 private etc apache2 extra httpd default.conf中已經有了配置,但是預設來說沒有引入到httpd.conf中,因此在httpd.conf找到httpd default.conf的引用並去掉注釋即可。1 編輯檔案 sudo vim...

TCP鏈結keepalive機制介紹

keepalive可以簡單理解為一種狀態保持或重用機制,比如當一條連線建立後,我們不想它立刻被關閉,如果實現了keepalive機制,就可以通過它來實現連線的保持。簡單的說就是當你打 但是沒話講,又不能掛的時候,每隔固定週期喊一聲 喂你還在嗎 的機制。我們都知道tcp的三次握手和四次揮手。當兩端通過...

TCP頭部選項

tcp頭部的最後乙個選項字段 options 是可變長的可選資訊。這部分最多包含40位元組,因為tcp頭部最長是60位元組 其中還包含前面討論的20位元組的固定部分 典型的tcp頭部選項結構如圖3 4所示。選項的第乙個欄位kind說明選項的型別。有的tcp選項沒有後面兩個字段,僅包含1位元組的kin...