确定可用带宽
时间:2020-03-06 14:52:50 来源:igfitidea点击:
确定.NET中可用带宽的最佳方法是什么?
我们的用户可以从各种远程访问点(有线和无线)访问业务应用程序,根据用户所在的位置,有时带宽可能非常低。当应用程序似乎运行缓慢时,问题可能是由于带宽不足而不是其他一些问题。
我希望能够运行某种服务,以在可用带宽降至特定阈值以下时向用户发出警告。
有什么想法吗?
解决方案
下载已知大小的文件并确定要花多长时间的显而易见的事情。这样做的缺点是我们需要浪费很多带宽才能做到这一点。另外,如果我们想在吞吐量下降到阈值以下时发出警报,则必须或者多或者少连续地运行测试。
恕我直言,鉴于某些情况发生,我们对此无能为力,因此我在某些地方的表现会很差。
对不起。
如果要传输数据,只需对其进行测量。如果要使其独立于服务器速度,也可以从某处下载参考对象。
如果没有实际使用带宽,就没有简单的方法来测量带宽,这当然会使应用程序饿死。需要牢记以下几点:
1)是带宽问题还是延迟问题?我们可以以比带宽少干扰的方式测量延迟。
2)是否所有应用程序都在同一服务器(或者至少同一网络)上运行?我们可能会发现用户将与网络的某些区域建立良好的连接,而其他区域则没有。 (很可能最后一英里是限制因素,但并非总是如此。)
在不知道连接的确切性质或者其使用方式的情况下,我知道有两种选择。
MultinetGetConnectionPerformance(http://msdn.microsoft.com/zh-cn/library/aa385342(VS.85).aspx)
系统事件通知服务(http://msdn.microsoft.com/zh-cn/library/aa377538(VS.85).aspx)
都不是直接的.NET类,但是可以很容易地在.NET中实现。
看看它们两个,看看它们是否对我们有用。
罗伊