我需要研究並髮用戶數量的增加對 LAN 吞吐量的影響。資料大小約500KB,頻寬為4Mbps。這是我的問題:
我可以在真實的測試平台上進行還是應該運行模擬?
如果真正的測試平台有效,我如何在 Linksys WRT45GL 路由器中定義手動網路頻寬。
在真正的測試台上,我可以運行 JavaScript 程式碼來將非同步資料獲取請求發送到同一網路(在不同機器上)中的 Web 伺服器,但我的問題是如何在那裡定義手動網路頻寬並確保它不會在整個研究過程中發生變化。我也可以隔離網路並停用無線網路。
在模擬的情況下,什麼是最簡單、最可靠的方法來幫助我完成如此簡單的任務。
抱歉,如果它太簡單了。
答案1
聽起來你想使用iperf
.它是一個客戶端-伺服器軟體包,可讓您模擬指定的頻寬量。
運行 iperf 的「正確」方法是一端有一個客戶端,另一端有一個伺服器,但如果您只需要使用受控流量淹沒某個鏈接,則可以使用 UDP 運行 iperf 用戶端。但這取決於你的情況。
您可以為客戶端使用以下語法:
iperf -c 180.92.196.115 -u -p 5001 --time 360 -i 3 -b 2
這指定:
- 在客戶端模式下執行 iperf。
- 使用 UDP 代替 TCP
- 將流量傳送到 UDP 連接埠 5001
- 運行測試 360 秒
- 每 3 秒報告一次頻寬統計訊息
- 產生恆定的 2 Mbits UDP 流量用於測試。
您需要確保 iperf 的兩個端點與您嘗試測試的流量相對應。例如,如果我嘗試使 Internet 鏈路飽和以測試 WAN 上的 VoIP QoS 設置,則它不會幫助我在 LAN 上的兩台 PC 之間運行 iperf。該流量不會通過 WAN,因此不會產生影響。
因此,您可能會發現需要在 LAN 外部的實際託管伺服器上執行 iperf 伺服器軟體。
真實網路還是模擬器?
這真的取決於你。在我看來,無論哪種方式,進行測試的工具都是相同的。顯然,如果您想在生產網路上運行它,要么將其安排在正常工作時間之外,要么以某種方式進行以避免對用戶造成影響。
如果可以的話,我更喜歡在真實網路上進行測試,因為這樣你就可以處理更「真實世界」的場景。嘗試模擬真實的網路可能很困難,而且您的結果可能不那麼準確,因為您忘記模擬網路的眾多變數之一。
因此,使用真實的東西通常會更容易、更準確。
一個例子
我經常使用它來驗證 VoIP 客戶的 QoS 部署。通常,我會在他們的真實網路上執行測試,啟用或不啟用 QoS 來驗證改進。顯然你的測試是不同的,但方法是相似的。
測試用戶成長
Iperf 只會模擬您告訴它的頻寬量 - “每個用戶”使用的流量會根據您的情況而變化,因此顯然無法猜測這一點。
我解決這個問題的方法是:
- 設定LAN介面監控圖。
- 記下全天有多少並髮用戶以及當時介面上使用的頻寬(每秒位數)。
- 或者,記下整個工作日使用的平均頻寬以及每天的平均並髮用戶數。然後使用這些數字來確定粗略的“每個用戶的頻寬”量。
如果您可以計算出每個使用者的基線頻寬量,那麼您可以執行多個 iperf 測試來模擬。例如。如果您計算出每個用戶平均消耗 0.25 Mbps,那麼您可以說要模擬 10 個用戶,您需要產生 2.5 Mbps 的流量。
希望這可以幫助。