我正在使用WCF编写客户端和服务器代码,我需要知道客户端和服务器之间流量的“感知”带宽。我可以使用ping统计信息单独收集这些信息,但我想知道是否有办法在WCF中配置通道堆栈,以便在执行我的Web服务调用时可以同时收集相同的统计信息。这在禁用ICMP的情况下特别有用(例如ping不起作用)。
简而言之,在进行与业务相关的常规Web服务调用(REST调用是准确的)时,是否有办法隐式收集连接速度数据?
当然,我可以将Web服务往返时间与往返中使用的数据大小进行比较,以便让我了解吞吐量 - 但我不知道有多少感知带宽与网络相关,或者仅仅是由于服务器处理延迟。我或许可以通过让服务器发回一个表示服务器延迟的时间增量来解决这个问题,以便客户端可以计算实际的网络流量时间。如果没有更复杂的方法,那可能就是我的答案......
答案 0 :(得分:0)
创建ICMP的目的不是尝试连接速度统计信息,而是在两台主机之间建立有效连接。
我最好的猜测是,这些REST呼叫或ICMP流量中发送的数据量不足以计算感知的连接速度/带宽。
如果按这些指标计算,您将获得非常大的带宽统计信息或非常低,请以Windows XP中的复制框为例。您需要发送恒定且大量的数据才能计算有效的吞吐量统计信息。