Linux

通過“telnet 到埠”測試(最好使用內置 Linux 工具)測量延遲的最佳方法是什麼?

  • August 6, 2019

我正在編寫一個 Graphite/Diamond 收集器來測量網路延遲。具體來說,它應該測量打開與遠端伺服器上埠的連接所需的時間。它需要通過腳本工作,即鍵盤上沒有人以互動方式執行它。

舉一個 telnet 的虛構參數的例子,這正是我需要的。

time telnet --close-connection-immediately-after-established somehost.somedomain.com 1234

Trying somehost.somedomain.com...
Connected to somehost.somedomain.com.
Escape character is '^]'.
Connection closed automatically after established.

real    0m3.978s
user    0m0.001s
sys 0m0.003s

基本上,在上面的範例中,僅使用內置工具輸出 3.978 的命令行方式是什麼?

您可以將 telnet 包裝在我認為的期望腳本中並發出問題:

^]
close

……但這似乎相當難看。有任何想法嗎?

關於什麼 :

time nc -zw30 <host> <port>

只需使用ping或配置客戶端-伺服器設置並使用已建立的 unix 網路基準測試工具之一:

https ://www.binarytides.com/linux-commands-monitor-network/

https://access.redhat.com/solutions/ 2122681

雖然time+nc在獲得對延遲的大致估計時很有用,但它不應該用作生產連接評估中的事實。

例如,額外程序(如time)的實例化和執行會花費時間。例如,我使用time+得到了 15-20 毫秒的結果nc,而使用傳統的 ping/ICMP 回顯,結果在 3-5 毫秒左右。對於快速測試,ping 似乎可以完成這項工作,對於更詳細的結果,通常需要客戶端-伺服器設置。

引用自:https://serverfault.com/questions/649532