sysctl.conf与httpd.conf中keepalive设置

sysctl.conf中,比如
tcp_keepalive_time = 7200
tcp_keepalive_probes = 9
tcp_keepalive_intvl = 75
即某个TCP连接在idle 7200秒后,内核发起probe.如果probe 9次(每次间隔75秒)不成功,则内核才彻底放弃,认为该连接已失效
httpd.conf中
KeepAlive可以设置成on或者off,
如果为off,则用户连接处理完时立即关闭tcp连接。同一个用户再连的话就得重新三次握手了。
如果为on,则用户连接处理完时不关闭tcp连接,等KeepAliveTimeout秒后,才断开连接

现在的问题时,如果一台机器,
sysctl.conf中,tcp_keepalive_time = 7200
httpd.conf中,KeepAlive on KeepAliveTimeout 15
那么实际要等待多少秒后,才断开连接。也就是按哪个文件算?

作者: wslmyb   发布时间: 2011-03-01

一个是内核控制,一个是程序自身控制。
按照我的理解,两者取最短。

我对内核不了解,不知到这两个keepalive是否同样功能。

说错的话请高人指出。

作者: cst05001   发布时间: 2011-03-01