你測的那一秒,跟使用者遇到的那一小時

跨境線路與本地網路最大的差異在於:本地網路的問題通常是持續性的(線壞了就是壞了),而跨境線路的問題**幾乎都是時段性的**。國際出口在尖峰時段壅塞、路由在特定時間切換、營運商互連點在夜間負載升高——這些都會造成同一條線路在不同時段表現截然不同。

所以當使用者在晚上八點回報卡頓,你在隔天上午十點去測,測到「一切正常」是完全可以預期的結果。這不代表問題不存在,只代表你沒有在問題發生的時候測量。

檢測方式 能發現 看不到
使用者回報時手動測 當下這一秒的狀況 問題發生當時的實際數據
從自己機房 ping 你這條線到對方的品質 使用者那條線的品質
單次三網測速 三個營運商的當下差異 各自隨時段的變化
排程式的持續檢測 時段趨勢與異常區間 (這是唯一能對上使用者體感的方式)
四種檢測方式的涵蓋範圍。只有最後一種能反映使用者實際遭遇的狀況。

下表比較四種常見的檢測方式,重點在第三欄——它們各自**看不到什麼**。

三種只有長期監控才抓得到的問題

以下三類問題,單次測速在統計上幾乎不可能命中:

  1. 晚高峰壅塞 國際出口頻寬是共享的,晚間使用量攀升時,延遲與丟包會一起惡化。這種劣化通常集中在幾個小時內,而多數人做測試都在上班時間——正好完全錯開。要證明這件事存在,唯一方法是有跨越那幾個小時的連續數據。
  2. 間歇性的路由變動 跨境路由並非固定不變,營運商會依成本與負載調整。一次路由變更可能讓延遲從 80ms 跳到 200ms,而且不會有任何通知。如果沒有長期基準線,你甚至不會知道「變慢了」——因為你不記得原本是多少。
  3. 三網之間的不對稱惡化 三大營運商的國際出口是各自獨立的,惡化未必同時發生。可能移動的線路在某個時段特別差,而電信與聯通正常。單次測速就算三網都測了,也只是一個時間切片——看不出哪一家在哪個時段有規律性問題。

該監控什麼

監控的指標順序,跟單次判讀是一樣的:**丟包優先、延遲次之、頻寬最後**。但長期監控多了一個更重要的維度——**變化**。一個穩定在 120ms 的線路,通常比在 60ms 與 250ms 之間跳動的線路更好用,即使後者的平均值更低。

所以除了絕對數值,還要看分布。同一個指標,應該關注的是尖峰時段的表現而非平均值——平均值會把糟糕的那三小時稀釋掉,讓報表看起來很健康,但使用者體驗到的正是被稀釋掉的那段。

另一件容易被忽略的是**檢測要從使用者所在的網路發起**。從您自己的機房測,量到的是您這條線;使用者在中國移動,就必須從移動的網路測,否則數據跟他們的體驗無關。這也是為什麼跨境監控通常需要在目標市場有檢測節點。

這跟憑證監控是同一個道理

如果您讀過我們談憑證到期監控的那篇,會發現論證結構完全相同:**單次檢查證明不了持續的狀態**。憑證那邊是「續簽成功不等於憑證在服務」,網路這邊是「這一秒正常不等於使用者沒問題」。

兩者的解法也一樣——把一次性的檢查換成排程式的持續檢測,並且從外部、從使用者實際所在的位置發起。差別只在於憑證監控關心的是狀態的正確性,網路監控關心的是品質的分布。

三個層次的實作

從最基本到最完整,可以分階段建立:

一、先建立基準線

在還沒出問題的時候,就開始記錄正常狀況下的延遲與丟包。沒有基準線,之後任何數字都無從判斷是好是壞。這一步的價值在事後才會顯現,但那時候補做已經來不及了。

二、涵蓋三網與多個時段

檢測要分別涵蓋電信、聯通、移動,並且跨越完整的日夜週期。只在上班時間檢測,會系統性地錯過最需要看到的那幾個小時。

三、接進既有的監控系統

連線品質數據如果只存在另一個獨立的儀表板上,實務上沒有人會定期去看。理想的作法是透過 API 把數據拉進團隊已經在用的監控或告警系統,跟其他指標放在一起——這樣異常才會被注意到,而不是等使用者來回報。

開始監控前該確認的三件事

設定之前,先把這三項想清楚:

  1. 確認要監控哪些目標節點 是源站、CDN 節點,還是兩者都要?如果只監控 CDN 而源站有問題,回源變慢時你不會知道;只監控源站則反映不了使用者的實際路徑。
  2. 確認檢測節點在使用者那一側 跨境監控的前提是檢測要從目標市場發起,而且要分屬三網。從境外測進去,量到的是反方向的品質,兩者未必對稱。
  3. 確認數據要怎麼被使用 是要人工查看趨勢,還是要設門檻自動告警?如果是後者,就需要 API 把數據送進既有系統。這會決定您需要的是網頁工具還是可程式化的介面。

小結

使用者回報「晚上很慢」而您測起來正常,這兩件事可以同時為真。跨境線路的品質是隨時間變動的分布,不是一個固定的數字,而單次測速只能取樣其中一個點——通常還是最不重要的那個點(上班時間)。

如果只是想確認當下三網的連線狀況,我們的測速平台免費版就能做到。若您需要排程檢測、長期趨勢,或把數據接進自己的監控與告警系統,商業版 API 提供可程式化的存取方式。

參考資料