TCP协议的优化方法「建议收藏」

TCP协议的优化方法「建议收藏」TCP协议的优化方法

大家好,又见面了,我是你们的朋友全栈君。

1. TCP优化方法

1.1 服务端:

a. 将服务器升级到最新版本,TCP 的最佳实践以及影响其性能的底层算法一直在与时俱进,而且大多数变化都只在最新内核中才有实现;
b. 增大TCP的初始化拥塞窗口(cwnd),这样TCP一次往返数据就较多,速度提升明显,特别是短暂链接;
c. 减少慢启动重启,在链接空闲时,禁用慢启动,改善TCP链接性能;
d. 开放窗口缩放,增大最大接收窗口(rwnd)大小,提高吞吐量;
e. 如果客户端和服务端都支持TFO(TCP fast open),则可以在三次握手的第个SYN分组中发送数据。

1.2 客户端:

a. 减少数据发送和接收,如压缩;
b. 缩短链接距离,使用CDN,把数据存放到距离客户端较近的地方,减少网络延时;
c. 尽可能重用已经建立的TCP链接,减少三次握手,慢启动,拥塞控制对性能的影响; 

d. 减少HTTP重定向;

e. 减少DNS查找;

f. 缓存资源,避免多次请求相同的内容。

参考文献:

1.《Web性能权威指南》

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149539.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 修给linux用户密码报错Authentication token manipulation error

    修给linux用户密码报错Authentication token manipulation error修给linux用户密码报错Authentication token manipulation error

  • python urlopen 乱码[通俗易懂]

    1234567importurllib2importsys content=urllib2.urlopen(‘http://xxx.com’).read()#thewebpageisencodedbyuft-8 type=sys.getfilesystemencodin

  • 编译器警告RegisterStartupScript已经过时

    编译器警告RegisterStartupScript已经过时protectedvoidAlertMsg(stringmsg){this.Page.RegisterStartupScript(“alert”,”<scriptlanguage=\”javascript\”>alert(‘”+msg+”‘);</script>”);}使用上面的代码建立的客户端脚本块编译器会警告Reg…

  • BN层理解_理解六层次总结

    BN层理解_理解六层次总结bn层计算的均值和方差是channel的输入数据是nchw,求得的均值和方差均是长度为c的向量mini-batch指的是一个batch的所有样本对应通道组合成一个minibatch,1个nchw的数据有c个mini-batch一个mini-batch在一起进行求均值和方差HW的归一化,求出NC个均值与方差,然后N个均值与方差求出一个均值与方差的Vector,size为C,即相同通道的一个mini_batch的样本求出一个mean和variance每次迭代时采用的是滑动平均方式更新,.

    2022年10月14日
  • 什么是十字链表?

    什么是十字链表?十字链表是一种存储稀疏矩阵的方法,该存储方式采用的是”链表+数组”结构,如图1所示。图1十字链表示意图可以看到,使用十字链表压缩存储稀疏矩阵时,矩阵中的各行各列都各用一各链表存储,与此同时,所有行链表的表头存储到一个数组(rhead),所有列链表的表头存储到另一个数组(chead)中。因此,各个链表中节点的结构应如图2所示:图2十字链表的节点结构两个指针域分别用于链接所在行的下一个元素以及所在列的下一个元素。链表中节点的代码可以表示为:typede.

  • Java 变量命名规则[通俗易懂]

    Java 变量命名规则[通俗易懂]变量命名必须满足一系列的条件,不能随意命名示例1:命名规则变量命名只能使用:字母数字$_ 变量第一个字符只能使用:字母$_ 变量第一个字符不能使用:数字 注:_是下划线,不是-减号或者——破折号inta=5;inta_12=5;int$a43=5;inta434=5;//第一个是数字,是不行的int34a=5;示例…

    2022年10月30日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号