当前位置: 首页 > news >正文

在线阅读网站开发教程有品质的网站推广公司

在线阅读网站开发教程,有品质的网站推广公司,网站建设 绵阳,电子商务网站建设花费1. TCP保活机制 参考 《Nginx(三) 配置文件详解 - 基础模块》3.18章节 net.ipv4.tcp_keepalive_intvl:设置两次相邻探活检测的间隔时间。默认是75秒,单位是秒。net.ipv4.tcp_keepalive_probes:设置探活最多检测次数。默认是9次,单…

1. TCP保活机制

参考 《Nginx(三) 配置文件详解 - 基础模块》3.18章节


  • net.ipv4.tcp_keepalive_intvl:设置两次相邻探活检测的间隔时间。默认是75秒,单位是秒。
  • net.ipv4.tcp_keepalive_probes:设置探活最多检测次数。默认是9次,单位是次。
  • net.ipv4.tcp_keepalive_time:设置TCP连接保活时长。默认是7200秒,单位是秒。

2. TCP Fast Open Cookie 


  • net.ipv4.tcp_fastopen可选值是0、1、2、3,默认是1。设置为0时表示关闭Fast Open Cookie功能,设置为1时表示仅作为客户端时使用Fast Open Cookie功能,设置为2时表示仅作为服务端时使用Fast Open Cookie功能,设置为3时表示无论作为客户端还是服务端时都使用Fast Open Cookie功能。请注意,Fast Open Cookie需要客户端和服务端同时开启才有效,开启后可以用TCP报文首部的Fast Open Cookie选项字段来声明是否使用FOC。FOC生效后,使用HTTP协议通信时,可以减少因三次握手而带来的1个RTT时间消耗(因为三次握手建立连接后,HTTP 请求必须在一个RTT后才能发送)。如果服务器仅作为服务端时,建议设置为2,如果是代理服务器,建议设置为3。

  • net.ipv4.tcp_fastopen_blackhole_timeout_sec = 3600

  • net.ipv4.tcp_fastopen_key = 00000000-00000000-00000000-00000000

3. 设置重传次数最大值


  • net.ipv4.tcp_orphan_retries:FIN报文重传次数最大值,默认值是0,特指8次。如果FIN报文重传次数达到该值且规定等待时间已结束,连接将直接关闭。如果是孤儿连接,重传次数虽未超过8次,但该连接自首次发出FIN报文开始,存活时间已超tcp_fin_timeout设定的时间,那么此时该连接也将会直接关闭。
  • net.ipv4.tcp_retries1报文超时重传次数达到该值且规定等待时间已结束,指示IP层进行MTU探测、刷新路由等。默认是3次。
  • net.ipv4.tcp_retries2:报文超时重传次数达到该值且规定等待时间已结束,连接将会直接关闭。默认是15次。
  • net.ipv4.tcp_syn_retries:SYN报文重传次数最大值,默认是6次。如果SYN报文重传次数达到该值且规定等待时间已结束,连接将直接关闭。
  • net.ipv4.tcp_synack_retries:SYN+ACK报文重传次数最大值,默认是2次。如果SYN+ACK报文重传次数达到该值且规定等待时间已结束,连接将直接关闭。

4. 孤儿连接

        当进程调用 close() 函数关闭连接后,相关句柄已经释放,无论该连接是处于 FIN_WAIT1 状态,还是确实关闭了,此连接已经与进程无关,由内核和另一端完成四次挥手交互,此时这个连接叫做孤儿连接。

        使用 close() 函数关闭连接是完全断开连接,同时关闭读和写,无法继续传输数据,是不优雅的,而 shutdown() 函数是优雅关闭连接,可以控制是关闭读还是写。


  • net.ipv4.tcp_max_orphans:指定系统内核最多能接管多少个孤儿连接。默认是16384个。如果孤儿连接数量超过该值,新增的孤儿连接将不再通过四次挥手来关闭连接,而是直接发送 RST 报文进行强制关闭,并发出警告信息。
  • net.ipv4.tcp_fin_timeout:指定孤儿连接在内核中的最大生存时间,单位是秒,默认是60秒,对应两个MSL,该参数也是设置服务器主动关闭TCP连接时在TIME_WAIT状态的2MSL等待时间。如果在60秒内还未关闭,连接将直接关闭。
  • net.ipv4.tcp_orphan_retries请参考第3章节。

5. 防御SYN Flood攻击

参考 TCP三次握手、四次挥手及状态转换详解


  • net.core.somaxconn:增大TCP全连接队列/accept队列大小,也是增大TCP半连接队列的关键参数。默认值是128。
  • net.core.tcp_max_syn_backlog :增大TCP半连接队列/SYN队列大小。默认值是1024。
  • net.ipv4.tcp_syncookies:设置是否开启syncookies。开启syncookies后,不使用半连接队列就可建立TCP连接。默认值是1,表示仅当 SYN 半连接队列溢出时,才启用它。设置为0时表示关闭,设置为2时表示无条件开启。
  • net.core.netdev_max_backlog:设置每个网卡接收队列的最大长度,防止网卡接收过载。默认值是1000个。内核从网卡收到数据包后,在交由协议栈(如IP、TCP)处理前会先将数据包放入一个缓冲队列中,当接数据包的速率大于内核协议栈处理的速率时,这个缓冲队列会不断增长,但不能超过netdev_max_backlog 参数设置的值,否则数据包将被丢弃。默认情况下,netdev_max_backlog 参数的值是与系统的内存大小和 CPU 数量相关的动态值。它会根据系统的硬件配置进行自适应调整,通常情况下不需要手动设置。除非这台服务器需要处理大量的网络请求,我们才将该值调大。
  • net.ipv4.tcp_synack_retries:降低SYN+ACK报文重传次数。默认是2次。请参考第3章节。

6. accept队列已满策略


  • net.ipv4.tcp_abort_on_overflow:该参数用于设置当accept队列已满时,是否要将后续请求建立的TCP连接置为RST,即返回RST报文。可选值是0或1,默认值是0,表示关闭。当accept队列已满时,如果该参数设置为0,服务端会丢弃掉客户端返回的ack报文。如果设置为1,服务端将发送RST报文给客户端,要求重置连接并重新建立连接。谨慎开启该配置! 

7. 窗口放大


  • net.ipv4.tcp_window_scaling:设置是否开启窗口放大功能。可选值是0或1,默认是1,表示开启窗口放大功能。

8. 优化TIME-WAIT


  • net.ipv4.tcp_tw_reuse:设置是否复用处于 TIME_WAIT 状态的TCP连接,可选值是0或1,默认是0,表示禁止复用连接。请注意,该配置仅适用于主动发起建立TCP连接的一方,也就是仅适用于客户端。开启该选项后,主动发起建立连接的一方在调用 connect() 函数时,如果选择到的端口,已经被相同四元组的连接占用,那么就判断该连接是否处于TIME_WAIT状态,如果该连接处于 TIME_WAIT 状态并且 TIME_WAIT 状态持续时间已超过1秒,那么就重用这个连接,然后就可以正常使用该端口了。所以该选项只适用于主动发起建立连接的一方。如果服务器仅作为服务端,就完全没必要开启该功能。如果服务器是一台代理服务器,建议开启该功能。
  • net.ipv4.tcp_timestamps:设置是否开启TCP时间戳功能,可选值是0或1,默认是1,表示开启时间戳功能。开启后,TCP 头部就会使用时间戳选项,便于精确计算RTT,而且还能避免出现因序列号回绕(PAWS)而引起的延迟报文生效的问题。该参数是开启tcp_tw_reuse功能的前提,在开启tcp_tw_reuse功能前,必须将tcp_timestamps设置为1
  • net.ipv4.tcp_max_tw_buckets:设置处于TIME_WAIT状态的TCP连接的最大值,默认值是5000。当系统中处于 TIME_WAIT 状态的TCP连接数超过该值时,新关闭的连接就不再经历 TIME_WAIT状态,而是直接关闭,这个方法比较暴力。
  • net.ipv4.tcp_fin_timeout:该参数用于设置2MSL时间,请参考第4章节。

9. 快速重传

参考 《TCP 核心工作机制》


  • net.ipv4.tcp_sack:设置是否开启选择性确认SACK,可选值是0或1,默认是1,表示开启SACK。
  • net.ipv4.tcp_dsack:设置是否开启D-SACK(选择性确认时标识重复收到的数据),可选值是0或1,默认是1,表示开启D-SACK。
  • net.ipv4.tcp_comp_sack_delay_ns:设置在压缩SACK报文期间,SACK报文的延迟发送时间。单位是ns(纳秒),默认值是1000000ns,也就是1ms。
  • net.ipv4.tcp_comp_sack_nr:设置压缩SACK报文的最大数量。默认值是44。

10. 拥塞控制


  •  net.ipv4.tcp_congestion_control = cubic
  • net.ipv4.tcp_allowed_congestion_control = reno cubic
  • net.ipv4.tcp_available_congestion_control = reno cubic

11. 设置缓冲区


  • tcp_wmem:设置发送缓冲区大小/范围,默认值是“4096    16384    4194304”,3个参数单位都是字节Byte。
  • tcp_rmem:设置接收缓冲区大小/范围,默认值是“4096    87380    6291456”,3个参数单位都是字节Byte。
  • tcp_mem:设置TCP缓冲区大小/范围,默认值是“42147    56197    84294”,3个参数值单位都是页面,一个页面是4kb,
  • tcp_moderate_rcvbuf:设置是否开启接收缓冲区动态调整功能,可选值是0或1,默认是1,表示开启。
  • net.ipv4.tcp_adv_win_scale = 1
http://www.hkea.cn/news/84543/

相关文章:

  • 做网站推广代理上海网络推广服务
  • wordpress可以做大吗搜索引擎优化的英语简称
  • 民治专业做网站公司中国企业500强排行榜
  • 潍坊 公司 网站seo点击排名器
  • 网站可以做赌博广告建站宝盒
  • 运城市做网站英文seo外链
  • 江宁网站建设如何建立网上销售平台
  • 淄博企业网站建设有限公司搜索引擎关键词竞价排名
  • 网站的优点企业专业搜索引擎优化
  • 哪里有软件开发培训机构无锡seo培训
  • 网站怎么做反链seo是什么品牌
  • 技术型网站做哪一种好软文范例大全100
  • 百度搜索什么关键词能搜到网站seo高效优化
  • 网站搭建分站需要多少钱互联网营销策划
  • 音乐网站的音乐怎么做seo先上排名后收费
  • 清河做网站报价seo实战培训王乃用
  • wordpress 回收站在哪个文件夹营销方式和手段
  • 垂直型电商网站如何做快速排名软件哪个好
  • 做产品推广有网站比较好的免费自助建站平台
  • 番禺网站建设公司排名百度推广页面投放
  • 沈阳做微网站百度收录刷排名
  • 网站建设与管理技术发展seo是什么意思如何实现
  • 手机游戏开发制作公司最新seo视频教程
  • 网站优化过度被k长春seo排名公司
  • wordpress移除谷歌字体seo网站推广与优化方案
  • 十大景观设计公司排名seo权重查询
  • 水友做的yyf网站十大免费引流平台
  • 东莞公司网站制作百度识图网页版 在线
  • 企业级网站内容管理解决方案网站关键词快速排名服务
  • 影视采集网站怎么做收录关键词是网站seo的核心工作