我有一个 Web 服务 (WCF) 公开 http 端点和 tcp 端点(使用 nettcpbinding)。我正在尝试使用不同的端点测量“发送的总字节数”的差异。
我尝试使用 perfmon 并查看了性能计数器:Web 服务 > 发送的总字节数。然而,这似乎只测量 http 流量 - 你们中的任何人都可以确认这一点吗?看起来 tcp 流量不会增加数字。
perfmon 中还有一个 TCP 类别,但没有“发送的总字节数”。perfmon 是不是适合这项工作的工具?
我有一个 Web 服务 (WCF) 公开 http 端点和 tcp 端点(使用 nettcpbinding)。我正在尝试使用不同的端点测量“发送的总字节数”的差异。
我尝试使用 perfmon 并查看了性能计数器:Web 服务 > 发送的总字节数。然而,这似乎只测量 http 流量 - 你们中的任何人都可以确认这一点吗?看起来 tcp 流量不会增加数字。
perfmon 中还有一个 TCP 类别,但没有“发送的总字节数”。perfmon 是不是适合这项工作的工具?
解决了。我使用类似于以下内容的代码测量了客户端收到的字节数:
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
NetworkInterface lan = null;
foreach (NetworkInterface networkInterface in interfaces)
{
if (networkInterface.Name.Equals("Local Area Connection"))
{
lan = networkInterface;
}
}
IPv4InterfaceStatistics stats = lan.GetIPv4Statistics();
Console.WriteLine("bytes received: " + stats.BytesReceived);
在 Web 服务调用之前和之后执行此操作并区分 2 个值。显然,您需要注意客户端上的任何其他流量都不会干扰。