.net 优化WCF延迟?

.net 优化WCF延迟?,.net,wcf,performance,latency,.net,Wcf,Performance,Latency,我正在设计一个分布式系统,并将其部署在Windows Server 2008 R2的1Gb群集上,但我有延迟问题,通过.NET完成的正常Ping()需要0.240ms,但WCF延迟约为0.500ms,我认为这太高了,因为所有机器都通过一个1Gbs交换机本地连接。因此,我可以如何改善WCF延迟 我使用TCPBinding,ProtocolBuffer和WCFPing只是在internet层定义的低级ICMP协议,而TCP是在传输层定义的更复杂的协议。ICMP是不可靠的数据报协议,而TCP是可靠的协

我正在设计一个分布式系统,并将其部署在Windows Server 2008 R2的1Gb群集上,但我有延迟问题,通过.NET完成的正常Ping()需要0.240ms,但WCF延迟约为0.500ms,我认为这太高了,因为所有机器都通过一个1Gbs交换机本地连接。因此,我可以如何改善WCF延迟


我使用TCPBinding,ProtocolBuffer和WCF

Ping只是在internet层定义的低级ICMP协议,而TCP是在传输层定义的更复杂的协议。ICMP是不可靠的数据报协议,而TCP是可靠的协议,具有更高的传输开销,尤其是在建立连接时

WCF位于net.tcp之上,拥有自己的通道堆栈,这同样会产生开销。除非你详细描述你是如何测试沟通的,否则你的帖子不是一个真正的问题


还有一点小小的澄清:你是说你不喜欢0.5ms=0.0005s的延迟???这意味着ping显示小于1ms。即使设备在同一个网络中,它看起来也几乎不现实!如果您的意思是延迟为0.5s,那么我应该从诊断ping延迟0.24s开始,因为这是另一个大陆上ping服务器的值。我对谷歌(可能是欧洲的服务器)的ping为0.024s,对雅虎的ping为0.124s。

ping只是在互联网层定义的低级ICMP协议,而TCP是在传输层定义的更复杂的协议。ICMP是不可靠的数据报协议,而TCP是可靠的协议,具有更高的传输开销,尤其是在建立连接时

WCF位于net.tcp之上,拥有自己的通道堆栈,这同样会产生开销。除非你详细描述你是如何测试沟通的,否则你的帖子不是一个真正的问题


还有一点小小的澄清:你是说你不喜欢0.5ms=0.0005s的延迟???这意味着ping显示小于1ms。即使设备在同一个网络中,它看起来也几乎不现实!如果您的意思是延迟为0.5s,那么我应该从诊断ping延迟0.24s开始,因为这是另一个大陆上ping服务器的值。我对谷歌(可能是欧洲的服务器)的ping为0.024s,对雅虎的ping为0.124s。

这是在第一次连接还是后续连接上进行的测量?您是否使用连接池(
MaxConnections
>1)?至于ping,我没有使用任何ping,只使用.NET中的ping类。至于WCF,我没有编辑任何与连接池相关的内容。这个测量是在第一个连接上完成的,还是在随后的连接上完成的?您是否使用连接池(
MaxConnections
>1)?至于ping,我没有使用任何ping,只使用.NET中的ping类。至于WCF,我没有编辑任何与连接池相关的内容,我的意思是0.240毫秒(240微秒)。我没有在命令行中使用Ping,而是使用.NET中的Ping,并使用秒表测量时间。我们说的是本地网络,而不是中间有路由器和交换机的网络。在这种情况下,不用麻烦了。这不是你应该处理的延迟。NET Ping仍然发送ICMP回显(如控制台Ping)。我想说,0.5ms的网络通信已经足够好了,特别是如果它只是纯ping的两倍。不,我的意思是0.240ms(240微秒)。我没有在命令行中使用Ping,而是使用.NET中的Ping,并使用秒表测量时间。我们说的是本地网络,而不是中间有路由器和交换机的网络。在这种情况下,不用麻烦了。这不是你应该处理的延迟。NET Ping仍然发送ICMP回显(如控制台Ping)。我想说,0.5ms的网络通信已经足够好了,特别是如果它只是纯ping的两倍。