我有一个问题,需要我计算可用的最大上载和下载,然后将我的程序的使用限制在一定百分比内。但是,我想不出找到最大值的好方法。以编程方式确定最大传输速率
目前,我唯一可以提出的解决方案是在客户端和服务器之间传输几兆字节,然后测量传输的方式。但是,这种解决方案非常不理想,因为拥有100,000个客户端可能会导致服务器带宽使用量增加太多(已经太高)。
有没有人有任何解决方案来解决这个问题?
请注意,我最感兴趣的是数据的传输限制,直到它离开ISP的网络;我认为这很可能会导致其他程序通信降级的瓶颈发生。如果我错了,请纠正我。
编辑:经过进一步调查,我不认为这是可能的;准确测量离开ISP网络时的最大传输速率涉及太多变量。尽管如此,如果有人提出了一个准确的解决方案,那么这个问题就会解决。
你在编写代码的操作系统是什么?您可能至少可以检索特定界面的理论最大值,但执行此操作的方法会因操作系统而异。 – 2010-05-07 15:36:40
Windows。我对接口的最大值不感兴趣,我对可以通过客户端的ISP传输的最大值感兴趣;如果允许,我们的程序将使用它提供的所有内容,这会降低其他应用程序的性能。从可用性的角度来看,让用户选择自己的限制是不可接受的。 – 2010-05-07 15:44:51
除了在传输过程中对实际传输速率进行抽样以外,不要以为您有更多的选择。如果你不想粉碎你的服务器,你可以考虑使用现有的服务之一来衡量它 - 比如speakeasy.net。有人必须为你提供一个API。 – AlG 2010-05-07 15:53:48