Ping

網路時間指標

  • March 22, 2021

我試圖了解不同的網路指標,特別是那些與時間有關的指標。我發現自己迷失在定義中。從我到目前為止所做的研究中,我發現定義中存在一些矛盾,具體取決於來源,但這是我確定的**(可能是錯誤的!!)**:

  • 延遲:數據包從客戶端到達目的地所需的時間,或者簡單地說是旅行時間。
  • 往返時間 (RTT):請求到達目的地並返回給客戶端所需的時間。
  • 響應時間:請求到達目的地得到處理以及處理結果到客戶端所需的時間。

所以我的問題是:

  1. RTT 只是 2 倍延遲嗎?
  2. RTT和響應時間有什麼區別?在我看來,它們是同一回事。
  3. 延遲和 RTT 是如何計算的?相對容易衡量的響應時間如何消除處理時間?
  4. 最後是上述所有問題的起源。使用 ping 命令時顯示的時間是延遲 RTT 還是響應時間?

很抱歉有很多問題,但它們都是相互關聯的,所以我覺得我不應該把它們分成多個文章。

其中,往返時間 (RTT) 絕對意味著通過網路往返。

延遲和響應時間更為通用,甚至可能並不意味著 IP 網路。一個系統的響應時間和使用者體驗都很糟糕,因為儲存系統是基於主軸的並且延遲很高。網路延遲可能是往返,但要說 RTT 以避免歧義。

ICMP 迴聲本身不足以作為性能衡量標準。它是控制數據,在路由器(CPU 控制平面而不是數據 ASIC)和主機(OS ICMP 實現而不是使用者空間軟體)中使用不同的路徑。您的典型 ping 實現是往返,因為 echo 協議不包括時間戳。(很少有網路堆棧啟用了ICMP TIMESTAMP 。)

相對容易衡量的響應時間如何消除處理時間?

通過測量兩者。使用者真正關心的是他們的請求得到服務之前的時間。總時間可能包括從使用者到數據中心的多次往返、伺服器端的處理時間,包括可能聯繫多個 API,以及客戶端的處理時間。

了解您的應用程序的協議。為使用者做一件事需要多少次往返,以及組件之間的網路延遲。

正如我們在 Stack Exchange 上一樣,Stack Overflow 的監控堆棧做了一個有趣的案例研究。收集所有指標,包括Web 瀏覽器時間,做一些簡單的分析,並從數據中出現模式。

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