
我有一個非常基本的新手問題。有人告訴我我們有一個「千兆網路」。因此,我透過將檔案複製到另一台機器來進行快速 scp 測試,傳輸速率僅為 35MB/秒。
傳輸速率不應該接近1GB/秒嗎?
另外,是否有一個命令列會告訴我我有一個「千兆網路」?例如。 ifconfig 會告訴我嗎?
答案1
千兆乙太網路是每秒 10 億位元。理論最大傳輸速度為 125MB/秒。
話雖如此,你的 35MB/秒有點慢,但加密會減慢 SCP 檔案傳輸速度,這可能是原因。
除了加密之外,任何檔案傳輸都是一個糟糕的網路基準,因為您的 I/O 子系統可能會成為傳輸的瓶頸。你提到了ifconfig
,所以我假設你正在運行一些 *nix 作業系統。看看ttcp
實用程式。它可以很好地衡量網路上的 TCP 吞吐量。
答案2
千兆不是千兆位元組。最佳傳輸速度為 125MB/s(1000 GB/8)。
SCP 是一個糟糕的頻寬測量工具。您有加密的開銷,您可能啟用了壓縮,並且您必須考慮來源和目標上磁碟機的速度。
伊珀夫是一個更好的測量頻寬的工具。
如果您想查看連結速度ethool {interface}
,或者mii-diag {interface}
您使用的是 Linux。
是否可以使用 ping 來測量網路速度?
使用 ping 獲得的頻寬測量很可能比基於 TCP 或 UDP 的測試(如 ttcp 或 iperf 使用)更不準確。如果你真的想嘗試一下,你需要在像wireshark/tcpdump這樣的東西中開始捕獲並對ping -f
另一台主機進行洪水ping,然後你分析捕獲並查看在一段時間內傳遞了多少ICMP流量。問題是一些設備取消了 ICMP 的優先順序。
答案3
傳輸速度只能與客戶端和接收系統中最慢的系統一樣快,這是處理器/記憶體速度和硬碟存取時間的組合。
SCP 也為所有加密增加了大量開銷。
答案4
此外,乙太網路很少為您提供整個線路速度。我很少在伺服器上看到完整的 125MB/s,而且該測試純粹是綜合的。在現實場景中,我經常看到超過 100MB/s,甚至有一兩次 120MB/s。需要注意的是,我正在處理執行磁碟操作的伺服器(多個備份到磁碟流進入快速光纖通道儲存)。
我在我們的路由器和交換器上行鏈路介面上經常看到 125MB/sa。他們只是把包裹到處亂扔,並沒有像我一樣對它們做任何有意義的事情。真正的吞吐量測試將是盡可能純粹的網路。