我正在devise一个分布式系统,我将其部署在Windows Server 2008 R2的1Gb集群上。但是我有延迟的问题,正常的Ping需要0.270ms,我相信这太多了,因为所有的机器通过一个1Gbs开关。
那么我怎样才能优化一般的延迟,这也将帮助我在.NET WCF中
正常的Ping需要0.270ms,我相信这太多了
啊,不。 抱歉。 这是相当好的。
需要非常低的延迟? 使用为此devise的技术。 Infiniband的。
Tere是1GBnetworking的延迟。 0.2ms小于1ms。 99%的应用程序是可以的。
那么我怎样才能优化一般的延迟,这也将帮助我在.NET WCF中
不,不会的 最后,一个devise合理的基于WCF的集群系统将可以正常处理正常的延迟。 是的,单个包装的时间比零时间要长,但另一方面,在一个集群中正确的消息协议devise和工作包粒度意味着这并不意味着机器什么都不做。
我做了大量的分布式系统devise/操作,并且严格地说,除非devise一个HFT系统,否则0.2ms并不是我想要的,然后使用WCF本身就是一个愚蠢的举动 – HFT在这些天中提供Microseconds的延迟(注意: HFT =高频交易)。
有两个可疑的地方检查:
您的网卡可能运行速度降低(可能是由于省电状态) – 检查交换机的pipe理接口将提供有关实际链路速度的更多信息。 或者你的主机的CPU整体运行速度降低(例如,由于SpeedStep),或者陷入深度睡眠 ,需要一些时间来唤醒。 closures电源pipe理伏都教会消除这个可能的原因。 如果您的主机是虚拟化的,那么由于虚拟化调度的原因,看到变化/增加的延迟是相当正常的。
如果您的交换机非常笨或错误configuration,它将使用存储转发转发scheme而不是直接转发。 改变这一点也会有所减less。
尝试使用交叉电缆连接2台机器并检查ping结果。 这将validation您有操作系统问题,而不是切换问题。 我怀疑你有一个开关问题,而不是一个操作系统的问题。 Windows服务器的OOB设置非常好。