ToB企服应用市场:ToB评测及商务社交产业平台
标题:
HTTP:Nagle算法与TCP_NODELAY
[打印本页]
作者:
美丽的神话
时间:
2025-1-17 19:28
标题:
HTTP:Nagle算法与TCP_NODELAY
背景:TCP 有一个数据流接口,应用步伐可以通过它将恣意尺寸的数据放入 TCP 栈中—— 纵然一次只放一个字节也可以!但是,每个 TCP 段中都至少装载了 40 个字节的标记和首部,以是如果 TCP 发送了大量包含少量数据的分组,网络的性能就会严重 降落。
Nagle算法
Nagle 算法(根据其发明者 John Nagle 定名)试图在发送一个分组之前,将大量 TCP 数据绑定在一起,以进步网络服从。
Nagle 算法鼓励发送全尺寸(LAN 上最大尺寸的分组约莫是 1500 字节,在因特网上是几百字节)的段。只有当所有其他分组都被确认之后,Nagle 算法才答应发送 非全尺寸的分组。如果其他分组仍然在传输过程中,就将那部门数据缓存起来。只 有当挂起分组被确认,或者缓存中积累了充足发送一个全尺寸分组的数据时,才会 将缓存的数据发送出去。
Nagle 算法会引发几种 HTTP 性能问题。起首,小的 HTTP 报文可能无法填满一个 分组,可能会因为期待那些永远不会到来的额外数据而产生时延。其次,Nagle 算 法与延迟确认之间的交互存在问题——Nagle 算法会制止数据的发送,直到有确认 分组抵达为止,但确认分组自身会被延迟确认算法延迟 100 ~ 200 毫秒。
TCP_NODELAY
HTTP 应用步伐常常会在自己的栈中设置参数 TCP_NODELAY,禁用 Nagle 算法,进步性能。如果要这么做的话,肯定要确保会向 TCP 写入大块的数据,这样就不会产生一堆小分组了。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4