我有一個問題,需要我計算可用的最大上載和下載,然後將我的程序的使用限制在一定百分比內。但是,我想不出找到最大值的好方法。以編程方式確定最大傳輸速率
目前,我唯一可以提出的解決方案是在客戶端和服務器之間傳輸幾兆字節,然後測量傳輸的方式。但是,這種解決方案非常不理想,因爲擁有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