2010-09-21 63 views
5

我在解密WCF跟踪文件时遇到了问题,我希望有人可以帮助我确定管道中哪些地方会导致延迟。 “处理消息XX”的跟踪如下所示,其中活动边界和传送到执行我的服务代码(大约需要50ms)的“处理操作”之间的延迟时间为997ms。WCF跟踪日志分析 - 帮助

Processing Message trace

首先,我不确定我是否正确理解“时间”列表示开始时间的活动项目。我认为是这种情况,因为钻入“处理操作”轨迹会显示第一个时间戳记等于上述“处理操作”项目跟踪中显示的时间戳记的活动列表。

我的主要问题是:如何确定997ms时间内发生了什么?在我了解服务跟踪查看器时,似乎这种活动类型涉及“传输或安全处理”,这导致我认为这是一个网络问题,但我无法确定。

如果相关,下面是深入到“处理行为”跟踪的快照。

Processing Action trace

有没有人对如何进一步深入到这个活动查明原因延误的一些见解?

(我应该提到的是,响应时间从大约60毫秒超过一整秒变化到,并且似乎只在特定的环境中,这进一步导致我一个网络问题的主意,这样做)

预先感谢您!

回答

0

我建议增加一个额外的跟踪源特别是网络跟踪的跟踪源看到How to: Configure Network Tracing

您可以System.Net和的System.Net.Sockets。这应该有助于确认您的网络问题。另外,您提到所涉及的活动涉及传输或安全处理,在以前的经验中,我发现如果您正在使用基于证书的安全性来使用证书进行客户端身份验证或消息安全性,则WCF通道可能会受到影响通过遍历证书链的延迟来验证证书。这可能不适用于您,因为您可能没有使用基于证书的安全性。

2

我遇到了同样的问题。我的传输时间从100毫秒到4秒不等。我在服务器上安装了Wireshark,发现了很多网络数据包传输错误。令人印象深刻的是,网络堆栈可以将其全部整理出来,并且最终消息通过。最后我注意到服务器网卡驱动程序的“速度和双工”设置被设置为100Mb Full。测试客户端在Auto上,它们之间有几个开关。我想所有的设备都可以解决这个问题,但显然不是。将服务器值更改为自动解决了网络错误和跟踪传输延迟消失。