標籤:class http 使用 os set html
之前一直對tcp keepalive選項理解有誤,
以為通過setsockopt函數設定SO_KEEPALIVE和相關參數後該socket則使用設定的keepalive相關參數
否則使用系統預設的:keepalive配置(如下)
[email protected]:/# sysctl -a | grep keep
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_time = 90
今天突然發現redis伺服器上存在大量死連結(很多都是幾個月前的串連),檢查配置,未設定keepalive選項,系統預設(7200,9,75)
經過google查詢出keepalive選項開啟才行,系統預設的只是keepalive預設開啟後配置值;
"Remember that keepalive support, even if configured in the kernel, is not the default behavior in Linux. Programs must request keepalive control for their sockets using the setsockopt interface. There are relatively few programs implementing keepalive, but you can easily add keepalive support for most of them following the instructions explained later in this document."
詳細介紹請看:http://tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/