如何优化Windows Server 2008 TCP延迟?

如何优化Windows Server 2008 TCP延迟?

我正在设计一个分布式系统,并将其部署在 Windows Server 2008 R2 的 1Gb 集群上,但我遇到了延迟问题,正常 Ping 需要 0.270ms,我认为这太多了,因为所有机器都通过一个 1Gbs 交换机本地连接。

那么我该如何总体上优化延迟呢,这也将有助于我在 .NET WCF 中

答案1

正常 Ping 需要 0.270 毫秒,我认为这太多了

啊,没。抱歉。还可以。

需要非常低的延迟?请使用为此设计的技术。Infiniband。

1GB 网络存在延迟。0.2ms 小于 1ms。对于 99% 的应用程序来说,这是可以接受的。

那么我该如何总体上优化延迟呢,这也将有助于我在 .NET WCF 中

不会。最后,一个设计合理的基于 WCF 的集群系统将毫无问题地处理适当的延迟。是的,单个数据包将花费比零时间更长的时间,但另一方面,集群中适当的消息协议设计和工作数据包粒度意味着这并不意味着机器什么都不做。

我做了很多分布式系统设计/操作,说真的,0.2ms 并不是我担心的事情,除非设计一个 HFT 系统,然后使用 WCF 本身是一个愚蠢的举动 - HFT 现在以微秒为单位计算延迟(注意:HFT = 高频交易)。

答案2

有两个可疑的地方需要检查:

  1. 主办方
  2. 开关

您的 NIC 可能正在以较低的速度运行(可能是由于某种省电状态) - 检查交换机的管理接口将提供有关实际链接速度的更多信息。或者您的主机的 CPU 整体运行速度降低(例如由于 SpeedStep)或陷入沉睡并且需要一些时间才能唤醒。停用电源管理巫术将消除这一可能的原因。如果您的主机是虚拟化的,由于虚拟化调度而看到延迟变化/增加是相当正常的。

如果你的交换机非常笨或者配置错误,它会使用存储转发转发方案,而不是直通. 改变这一点也会在一定程度上减少延迟。

答案3

尝试使用交叉电缆连接 2 台机器并检查 ping 结果。这将验证您遇到的是操作系统问题而不是交换机问题。我怀疑您遇到的是交换机问题而不是操作系统问题。Windows 服务器的 OOB 设置非常好。

相关内容