WCF 跟踪日志分析 - 帮助

标签 wcf performance trace

我在破译 WCF 跟踪文件时遇到了问题,我希望有人能帮助我确定管道中的哪个位置发生了延迟。
“Processing Message XX”的跟踪如下所示,在事件边界和传输到“Process Action”之间似乎有 997 毫秒的延迟,在那里我的服务代码被执行(大约需要 50 毫秒)。

Processing Message trace

首先,我不确定我是否正确理解“时间”列来表示事件项目的开始时间。我认为情况确实如此,因为深入“处理操作”跟踪会显示事件列表,其中第一个时间戳等于上述“处理操作”项目跟踪中显示的时间戳。

我的主要问题是:我如何确定在这 997 毫秒的时间跨度内发生了什么?当我读到服务跟踪查看器时,似乎这种事件类型涉及“传输或安全处理”,这让我相信这是一个网络问题,但我不能确定。

如果相关,下面是深入到“流程操作”跟踪的快照。

Processing Action trace

有没有人对如何进一步深入这项事件以查明延迟原因有一些见解?

(我应该提到响应时间从大约 60 毫秒到一整秒不等,而且似乎只在特定环境中这样做,这进一步让我想到了网络问题)

先感谢您!

最佳答案

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

关于WCF 跟踪日志分析 - 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3764486/

相关文章:

java - 跟踪代码执行?

wcf - 在 HTTP 下载请求 header 中设置接受

c# - 如何将对象注入(inject) WCF 的 IErrorHandler?

Java网络服务: null request parameter

调用跟踪 Windows 驱动程序

.net - 如何使 DebugView 在 .NET 4 下工作?

c# - 每次关闭表单应用程序时注销 C# WCF

java - Java 程序性能的 CPU 和内存使用直方图

python - 等待文件的脚本在 while 循环中使用 100% CPU

java - Android 游戏(Llama 或 Duck)setContentView 上内存不足