内核参数优化之1 keepalive解析
以下信息纯属虚构,切勿相信!
- tcp/ip协议中有一个keep-alive机制,即检查空连接的时效性,当一个空连接持续一段时间后,就会发送一个keep-alive探测包,来探测客户端是否还存在.
- 如果存在,则客户端返回一个ack报文
- 如果存在,但构建连接的应用程序已经推出,则客户端返回一个rst报文,并发送fin报文撤销连接
- 如果存在,但构建连接的应用程序已经崩溃,则客户端返回一个fin报文,直接撤销连接
- 如果不响应任何报文,则顾名思义,服务器就会主动撤销连接.不过在撤销连接前,服务器会发送多少个探测包,每个探测包间隔多少秒呢?就看下面的参数了
- net.ipv4.tcp_keepalive_time
- 意思是一个已知连接空闲了多久,默认时间是7200秒,即2小时,这个值是很大的,因为如果对方空连接攻击,就很恶心了,所以建议修改为1800秒
- net.ipv4.tcp_keepalive_probes
- 意思就是tcp在空闲时间结束后,发送几个探测报,默认是9个,根据情况,为了释放资源,我们应该缩短这个次数,所以建议5次以下,比如3次
- net.ipv4.tcp_keepalive_intvl
- 意思是每个探测报文的间隔时间,默认是75秒,这里也建议缩短,因为间隔时间是75秒*发送的报文次数=无活动连接到撤销连接所用的时间,所以建议20秒.
OK, 经过这三个参数的调整,现在的tcp/ip检测空连接的效果是
1. 每一个空连接可以保持1800秒(30分钟)
2. 当空闲时间结束后,服务器会每20秒发送一个探测报文,共计发送3个
3. 如果依然没有活动,则断开.所以空连接总占用时间为31分钟
内核参数优化之1 keepalive解析的更多相关文章
- linux下TCP/IP及内核参数优化调优(转)
Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等. 如下配置是写在sysctl.con ...
- 内核参数优化/etc/sysctl.conf
net.nf_conntrack_max = 65536000net.netfilter.nf_conntrack_tcp_timeout_established = 1200net.ipv4.tcp ...
- TCP/IP及内核参数优化调优
Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等.如下配置是写在sysctl.conf ...
- Linux(Centos )的网络内核参数优化来提高服务器并发处理能力【转】
简介 提高服务器性能有很多方法,比如划分图片服务器,主从数据库服务器,和网站服务器在服务器.但是硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题 ...
- TCP/IP及内核参数优化调优(转)
Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等.如下配置是写在sysctl.conf ...
- Linux 内核参数 优化
Linux 内核参数 优化 目录 Linux 内核参数 优化 1.编辑内核配置文件 2.参数及简单说明 3.客户端的典型状态转移参数 4.TCP重传参数 5.实现Nginx高并发的内核参数优化 生效配 ...
- Linux新系统的安全优化和内核参数优化
拿到一个新的linux系统需要做的安全和内核优化,主要是为了提升系统安全和提升性能,满足后续的应用需要.这里简单记录一下拿到一个新的系统需要做的一些事情,仅此抛砖引玉,具体可根据自己实际情况进行设置. ...
- [效果不错] nginx 高并发参数配置及linux内核参数优化,完整的内核优化设置。PHP-FPM高负载解决办法。
背景:对vps小资源的实践中对,https://justwinit.cn/post/7536/ 的再优化,再实践,再优化,特别是Nginx,PHP,内核: 零)Nginx: error_log /da ...
- Centos内核参数优化
关于内核参数优化 net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.tcp_ ...
随机推荐
- 个人vim配置(.vimrc文件分享)
syntax enable syntax on colorscheme desert set nu! set nowrap set nobackup set backspace= set tabsto ...
- android上传图片至服务器
本实例实现了android上传手机图片至服务器,服务器进行保存 服务器servlet代码publicvoid doPost(HttpServletRequest request, HttpServle ...
- PYTHON文件多线程下载
其实,在一般的文件编程中,这有两个概念要说明: 第一是,下载一个大文件,将这个大文件多为多线程. 第二是,下载N多小文件,将每个线程指定下载多个小文件. 现在实现的是多线程下载一个大文件. 今天完成了 ...
- Web应用部署工具
Fabric----python写的,没试用过,基本上是local函数是调用本地命令,run是调用远程命令,看了些sample,还是觉得挺方便的. jekins------java的集成测试工具,也可 ...
- office web apps server 问题和解决办法
New-OfficeWebAppsFarm –InternalURL "http://owa.zjkhlib.com" –AllowHttp –EditingEnabled 错误1 ...
- HDU2196-Computer
原题连接: http://acm.hdu.edu.cn/showproblem.php?pid=2196 思路: 好了,无敌了,经过昨晚4个钟头+今上午1个小时的奋战,这题终于被我AC了 收获的确是不 ...
- [每日一题] OCP1z0-047 :2013-08-05 SELECT语句――列的表达式
按题意操作如下: hr@MYDB> SELECT first_name,salary,salary*12+salary*12*0.5 "ANNUAL SALARY + BONUS&qu ...
- 查看db2表空间使用率
select char(TABLESPACE_NAME,16) tablespace_name,decimal(PAGE_SIZE/1024,4,2) page,used_pages*100/usab ...
- 如何右键新建HTML
直接转载的,原文作者写的很详细:http://blog.csdn.net/ruanjiayou/article/details/51284864 14年在qq日志里写过 2014-10-25 htt ...
- Xcode Build Setting Reference
https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/ ...