随笔 - 576  文章 - 0  评论 - 62  阅读 - 219万

【T07】不要低估tcp的性能

1、tcp在ip的基础上增加了校验和、可靠性和流量控制的功能,而udp只增加了校验和的功能,看起来udp应该会比tcp快很多,
    但事实不是这样,有时候tcp比udp的性能还要好。
2、思考,在什么情况下udp的性能要好于tcp,以及为什么?
3、这两种协议的cpu开销主要是进行数据拷贝和校验,二者区别不大。
4、tcp为了提供可靠的传输,会发送ack包进行确认,但是这个工作量不大。首先,ack往往会作为捎带信息附属在包含数据的报文段中,
    其次,tcp没有必要对每个段都进行ack,可以间隔一段时间对多个段一起进行ack。
5、相对于ucp,tcp在建立连接三次握手,拆除连接四次握手,如果连接维持的时间比较长,进行大量的交互,
    连接的建立和拆除被分摊下来,对整个的性能影响很小。
    如果应用程序只是进行简短的请求应答回话,udp的性能好。
    如果应用程序持续时间比较长,并且进行大量的数据传输,tcp的性能会好于udp
6、客户端和服务端都是本地,tcp的性能要远远好于udp,这个奇怪的现象是因为BSD的tcp协议库实现,
    无论是不是环路udp的MTU是1500,对于环路的tcp的MTU可以达到1万5千多。注意:对于环路,数据报并不经过网络,
    而是直接放入接收队列。
posted on   Andy Niu  阅读(326)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2014-02-11 【M19】了解临时对象的来源
2014-02-11 【M13】以by reference 方式捕捉exceptions
2014-02-11 【M12】了解“抛出一个exception”与“传递一个参数”或“调用一个虚函数”之间的差异
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示