【发布时间】:2011-10-06 00:43:26
【问题描述】:
过去,我们的服务器应用程序被设计成客户端创建一个 TCP 连接,无限期地保持此连接建立,并在需要时发送消息。这些消息可能以高容量突发形式出现,或者中间有较长的空闲时间。我们现在正在切换到不同的连接协议,客户端将为每条消息创建一个新连接,然后在发送后断开连接。
我有几个问题:
我知道 3 次握手建立连接有一些开销。但这种开销是否很大(cpu、内存、带宽等)?
已建立的已空闲几分钟的 TCP 连接传输消息的延迟与创建新连接并发送消息的延迟之间是否存在差异?
如果我试图确定切换到这种新连接协议与旧连接协议相比对性能的影响,是否还有其他因素/考虑因素需要考虑?
非常感谢任何帮助。
【问题讨论】:
-
您还应该考虑每次发送消息时启动 3 次握手的延迟影响
-
你为什么要这样做?你走错了方向。几十年来,其他所有人都在疯狂地向他们的应用程序和中间件层添加连接池。
标签: performance sockets networking service tcp