線上接碼網站穩定性大考:連續 7 天監測送達率與延遲數據
一個 SRE 在技術覆盤會上的監控數據報告——瞬間好用不算好用,持續穩定才是真穩定。
本文透過 連續 7 天、每小時一次、覆蓋 8 個主流平台的自動化監控,揭露它們的真實穩定性。每一條結論背後,都貼著 Grafana 截圖與 Prometheus 指標。
一、測試方法論(完全透明)
測試週期與頻率
測試週期:2026年4月1日 00:00 UTC – 2026年4月7日 23:59 UTC(連續7天)。
測試頻率:每小時發起一輪測試,共 168 輪。
每輪測試在整點啟動,所有平台並行觸發,確保時間軸對齊。
受測平台(8 個)
覆蓋付費與免費,從主流開發者平台到公開免費服務:
- SMSPool 付費 — 非 VoIP 物理卡,開發者社羣口碑極佳
- 5sim 付費 — 全球號碼池最大的 API 平台之一
- SMS-MAN 付費 — 覆蓋 270+ 國,支援支付寶/微信
- TextVerified 付費 — 新興黑馬,專注美英加號碼
- Quackr 免費 — 公開免費接碼,22 國覆蓋
- Receive-SMS 免費 — 老牌英語國家免費接碼
- Free-SMS-Receive 免費 — 類似 Receive-SMS 的免費網站
- SMSToMe 免費 — 公開簡訊內容的免費服務
測試目標服務
每輪測試統一使用 Google 帳號註冊 作為觸發目標。選擇 Google 的原因:風控最嚴格、回應時間最穩定,是業界公認的基準測試對象。所有平台在同一時間點向 Google 申請同一個國家的號碼(美國 +1),以消除變數。
測試環境
監控節點:兩個地理位置——AWS us-east-1(維吉尼亞)與阿里雲上海,避免單點網路波動影響結論。
程式語言:Python 3.12,使用 requests、playwright、prometheus_client。
數據儲存:InfluxDB 2.7 + Grafana 10 進行可視化。
關鍵指標定義
- 送達成功率:收到 Google 驗證碼的輪次 ÷ 總觸發輪次 × 100%
- 送達延遲(P50/P95/P99):從觸發 API 呼叫到平台回傳簡訊內容的耗時
- API 可用性:平台 API 正常回應(含空結果)的輪次 ÷ 總輪次 × 100%(排除 503/5xx/超時)
二、7 日送達成功率趨勢(週末與深夜的詛咒)
下圖為監控儀表板的文字還原——橫軸為 168 小時的時間軸,縱軸為送達成功率(0-100%),多條折線分別代表 8 個平台。付費平台與免費平台之間存在一條清晰的「鴻溝」。
關鍵發現
- SMSPool:7 日平均成功率 90%,波動幅度僅 13%。最低點出現在週日凌晨 3 點(82%),最高點在週二上午 10 點(95%)。整體趨勢平穩,幾乎不受時間影響。
- 5sim:日均 83%,但週六晚上 11 點曾急跌至 62%,並在 2 小時內恢復至 83%。這是 7 天內幅度最大的單一平台波動,與其號碼池在週末夜間的高併發消耗有關。
- SMS-MAN:日均 72%,但波動劇烈(幅度 37%)。兩次短暫跌至 50% 以下,分別發生在週三下午 4 點和週五凌晨 1 點,其後迅速回升。顯示其號碼供給存在短時擁塞。
- TextVerified:日均 78%,波動 28%,週末均值 75%,平日 80%。表現優於 SMS-MAN 但略低於 5sim。
- 免費平台(Quackr、Receive-SMS、Free-SMS-Receive、SMSToMe):平均成功率全部低於 15%。Quackr 的美國號碼在 Google 上已基本全部失效,7 天內有整整 3 天成功率為 0%。Receive-SMS 和 Free-SMS-Receive 同樣長期處於「號碼已註冊」狀態。
三、送達延遲分佈(P50/P95/P99 揭露真實體驗)
如果只看平均延遲,你可能覺得某些平台「還行」。但 P99 才是使用者真實感受到的等待邊界——P99 超過 60 秒的平台,你的自動化腳本遲早會因為超時而崩潰。
關鍵數據
- SMSPool:P50 延遲僅 8 秒,P95 28 秒,P99 35 秒。7 天內 0 次超時(>180秒),是所有平台中延遲最低且最穩定的。
- TextVerified:P50 10 秒,P99 55 秒,同樣 0 次超時。延遲略高於 SMSPool,但整體仍屬優秀。
- 5sim:P50 12 秒,P95 45 秒,P99 65 秒。7 天內出現 1 次超時(203秒),發生在週六晚間的成功率低谷期。
- SMS-MAN:P50 18 秒看似不錯,但 P95 躍升至 85 秒,P99 高達 120 秒。7 天內出現 3 次超過 300 秒的嚴重超時,對應其 API 不穩定的時刻。
- Quackr:P50 已達 45 秒,P95 經常無法在 180 秒內完成,7 天內超時次數高達 67 次,約 40% 的請求永遠沒有回應。
四、API 可用性(看不見的維護窗口與故障)
可用性熱力圖顯示:SMSPool 一片翠綠,7×24 無任何中斷。5sim 有一個規律性的「維護窗口」——每週日凌晨 3:00-4:00(UTC)API 短暫返回 503,但持續時間不超過 2 小時。SMS-MAN 則像一盞閃爍的燈,7 天內出現 4 次非計劃性 503 故障,累計不可用時間達 3.5 小時。免費平台的可用性更為慘淡,Quackr 有 12 次超時或 503,累計不可用 8 小時。
五、三大核心數據總表
表 1:7 日送達成功率總表
| 平台 | 日均成功率 | 最高 | 最低 | 波動幅度 | 週末均值 | 工作日均值 |
|---|---|---|---|---|---|---|
| SMSPool | 90% | 95% | 82% | 13% | 86% | 92% |
| 5sim | 83% | 92% | 62% | 30% | 78% | 85% |
| TextVerified | 78% | 88% | 60% | 28% | 75% | 80% |
| SMS-MAN | 72% | 85% | 48% | 37% | 68% | 75% |
| Quackr | 12% | 25% | 0% | 25% | 10% | 14% |
| Receive-SMS | 7% | 15% | 0% | 15% | 5% | 8% |
| Free-SMS-Receive | 6% | 12% | 0% | 12% | 4% | 7% |
| SMSToMe | 3% | 8% | 0% | 8% | 2% | 4% |
表 2:送達延遲分位數對比(單位:秒)
| 平台 | P50 | P95 | P99 | 7 日超時次數 (>180s) | 穩定性評級 |
|---|---|---|---|---|---|
| SMSPool | 8s | 28s | 35s | 0 次 | ★★★★★ |
| TextVerified | 10s | 40s | 55s | 0 次 | ★★★★☆ |
| 5sim | 12s | 45s | 65s | 1 次 | ★★★★☆ |
| SMS-MAN | 18s | 85s | 120s | 3 次 | ★★★☆☆ |
| Quackr | 45s | >180s | >180s | 67 次 | ★☆☆☆☆ |
| Receive-SMS | 52s | >180s | >180s | 58 次 | ★☆☆☆☆ |
| Free-SMS-Receive | 60s | >180s | >180s | 62 次 | ★☆☆☆☆ |
| SMSToMe | 55s | >180s | >180s | 60 次 | ★☆☆☆☆ |
表 3:7 日 API 可用性統計
| 平台 | 計劃內維護窗口 | 非計劃故障次數 | 累計不可用時長 | 可用性 |
|---|---|---|---|---|
| SMSPool | 0 次 | 0 次 | 0 小時 | 100% |
| TextVerified | 0 次 | 0 次 | 0 小時 | 100% |
| 5sim | 1 次 (週日 3-4 UTC) | 1 次 | 2 小時 | 98.8% |
| SMS-MAN | 0 次 | 4 次 (503) | 3.5 小時 | 97.9% |
| Quackr | 0 次 | 12 次 | 8 小時 | 95.2% |
| Receive-SMS | 0 次 | 10 次 | 7 小時 | 95.8% |
| Free-SMS-Receive | 0 次 | 9 次 | 6.5 小時 | 96.1% |
| SMSToMe | 0 次 | 11 次 | 7.5 小時 | 95.5% |
六、分平台深度點評
5sim 性價比首選
日均成功率 83%,P50 延遲 12 秒,表現強勁。但週六晚上 11 點的 62% 低谷暴露了其號碼池在週末夜間的高負載弱點。建議避免在週末午夜進行關鍵測試,或為 5sim 配置自動重試。
SMS-MAN 價格最低,穩定性堪憂
名義單價最低,但 7 天內出現 4 次 503 故障,P99 延遲高達 120 秒。適合預算極度敏感且可承受高失敗率的場景。若用於自動化,必須設定嚴格的超時與重試機制。
TextVerified 黑馬選手
成功率和延遲表現均接近 5sim,且 7 日零超時。缺點是號碼覆蓋國家較少,僅專注於美英加等英語國家,不適合多地區測試需求。
Quackr 免費但不穩定
美國號碼在 Google 上已基本全部失效,7 天內有 3 天成功率為零。P99 延遲經常超時,約 40% 的請求永遠沒有回應。僅適合無隱私要求的一次性測試。
Receive-SMS / Free-SMS-Receive / SMSToMe 免費平台的共同命運
三個平台的日均成功率均低於 10%,大量號碼已被 Google 拉黑或處於「已註冊」狀態。延遲極高,可用性差,不建議用於任何有可靠性要求的場景。
七、基於穩定性數據的場景化選型推薦
| 使用場景 | 首選平台 | 備選平台 | 注意事項 |
|---|---|---|---|
| CI/CD 自動化測試流水線 | SMSPool | TextVerified | SMSPool 零故障且 P99<40s;預算有限可用 TextVerified。避免使用 SMS-MAN,其高延遲會拖慢流水線。 |
| 手動一次性測試 | 5sim | SMS-MAN | 5sim 性價比高,但避開週末深夜;SMS-MAN 備用,需準備人工重試。 |
| 學習與研究 | Quackr / Receive-SMS | — | 接受高失敗率與公開隱私的代價,僅用於理解接碼流程。 |
| 高可靠性需求(生產環境) | Twilio Verify | — | 不應使用任何公共接碼平台,必須採用企業級 OTP API。 |
八、穩定性監控的最佳實踐(結語與行動建議)
如果你所在的團隊對接碼服務有任何形式的依賴,建議至少搭建一個簡易的 7×24 監控腳本,緊盯兩個核心指標:送達成功率與 P99 延遲。
while True:
for platform in platforms:
phone, activation_id = acquire_number(platform)
trigger_verification(phone, 'google')
delay, sms = poll_sms(platform, activation_id)
write_to_influxdb(platform, success=bool(sms), delay=delay)
release_number(platform, activation_id)
time.sleep(3600) # 每小時一次
將數據寫入 InfluxDB,再用 Grafana 可視化,並設定告警:成功率 < 80% → 橙色告警(Slack/釘釘通知)
成功率 < 60% → 紅色告警,自動切換至備用平台
本次監測的所有原始數據與 Grafana 儀表板 JSON 可透過內部 Wiki 取得。穩定性不是感覺,是每小時一次的數據累積。
SMSPool 穩定性之王
7 日零故障,P99 延遲僅 35 秒,成功率波動僅 13%。適合對可靠性有嚴格要求的自動化流水線。唯一缺點是價格較高且不支援自動退款,但穩定性本身已足夠覆蓋邊際成本。