メインコンテンツまでスキップ

[Analysis] LB Server 請求分析

· 約9分
YuYu1015
Full-Stack Engineer (全端工程師)

📊 分析概述

分析時間範圍: 2025/12/13 上午 9:19:57 至 9:25:01 (UTC+8)
持續時間: 5 分鐘 4 秒
分析目的: 評估負載平衡伺服器運作狀況與系統表現
分析重點: 流量分布、伺服器負載、錯誤率、API 使用情況


📈 總體統計

流量指標

  • 總請求數: 948,920
  • 平均 RPS: 3,121.45
  • 峰值 RPS: 3,183.02
  • 總數據傳輸量: 659.64 MB
  • 平均請求大小: 728.91 B
  • 請求大小範圍: 0 B ~ 94.12 KB

HTTP 狀態碼統計

狀態碼類別數量比例
2xx (成功)921,96397.16%
3xx (重定向)10.00%
4xx (客戶端錯誤)26,9562.84%
5xx (伺服器錯誤)00.00%

詳細狀態碼分布

狀態碼數量比例
200921,70297.13%
40426,9322.84%
2042610.03%
499240.00%
30210.00%

🔝 熱門請求端點

排名請求請求數比例累積比例RPS
1GET /api/v2/eq/eew [lb-2.exptech.dev]88,1109.29%9.29%289.84
2GET /api/v2/eq/eew [lb-1.exptech.dev]87,4969.22%18.51%287.82
3GET /api/v2/eq/eew [lb-3.exptech.dev]87,1089.18%27.69%286.54
4GET /api/v2/eq/eew [lb-4.exptech.dev]87,0659.18%36.86%286.40
5GET /api/v2/trem/rts [lb-2.exptech.dev]86,9899.17%46.03%286.15
6GET /api/v2/trem/rts [lb-4.exptech.dev]86,9669.16%55.19%286.07
7GET /api/v2/trem/rts [lb-1.exptech.dev]86,9549.16%64.36%286.03
8GET /api/v2/trem/rts [lb-3.exptech.dev]86,6159.13%73.48%284.92
9GET /api/v1/trem/rts [lb-1.exptech.dev]60,1906.34%79.83%197.99
10GET /ntp [lb-1.exptech.dev]40,3354.25%84.08%132.68
11GET /api/v1/trem/rts [lb-2.exptech.dev]25,0962.64%86.72%82.55
12GET /ntp [lb-2.exptech.dev]17,4281.84%88.56%57.33
13GET /ntp [lb-3.exptech.dev]17,3321.83%90.39%57.01
14GET /ntp [lb-4.exptech.dev]17,3211.83%92.21%56.98
15GET /websocket [lb-4.exptech.dev]8,5750.90%93.11%28.21
16GET /websocket [lb-3.exptech.dev]8,5440.90%94.01%28.11
17GET /websocket [lb-1.exptech.dev]8,4750.89%94.91%27.88
18GET /api/v1/eq/eew [lb-1.exptech.dev]6,6330.70%95.61%21.82
19GET /api/v1/eq/eew [lb-3.exptech.dev]6,3510.67%96.28%20.89
20GET /api/v1/eq/eew [lb-4.exptech.dev]6,3460.67%96.94%20.88
21GET /api/v1/trem/rts [lb-3.exptech.dev]6,3050.66%97.61%20.74
22GET /api/v1/eq/eew [lb-2.exptech.dev]6,2870.66%98.27%20.68
23GET /api/v1/trem/rts [lb-4.exptech.dev]5,9340.63%98.90%19.52
24GET /api/v1/trem/rts [lb.exptech.dev]5,7500.61%99.50%18.91
25GET /websocket [lb-2.exptech.dev]7690.08%99.58%2.53
26GET /ntp [lb.exptech.dev]3650.04%99.62%1.20
27GET /api/v2/trem/rts [lb.exptech.dev]3600.04%99.66%1.18
28GET /api/v1/eq/eew [lb.exptech.dev]3600.04%99.70%1.18

💻 客戶端平台統計

共 14 個不同的平台

排名平台請求數比例
1trem_lite375,76539.60%
2Dart/Flutter264,75327.90%
3tremv165,83417.48%
4ZeroQuake72,4347.63%
5Unknown27,7542.92%
6Node.js25,4292.68%
7Other6,9620.73%
8Chrome3,9480.42%
9Python2,1040.22%
10Axios2,0810.22%
11curl1,0800.11%
12dpip5850.06%
13Safari1830.02%
14Firefox80.00%

🖥️ 負載平衡器統計

共 5 個不同的 Host

排名Host請求數比例
1lb-1.exptech.dev290,15130.58%
2lb-2.exptech.dev224,73023.68%
3lb-3.exptech.dev212,32822.38%
4lb-4.exptech.dev212,27622.37%
5lb.exptech.dev8,8860.94%

🔍 詳細分析

1. 系統流量表現

流量規模

本次分析期間,系統成功處理了 948,920 個 HTTP 請求,平均每秒處理 3,121.45 個請求(RPS),峰值達到 3,183.02 RPS。此流量規模顯示系統具備良好的處理能力,能夠應付高流量負載。

✅ 表現良好

  • 系統能夠穩定處理高流量(平均 3,121 RPS)
  • 峰值流量與平均流量差異小(僅 2%),顯示流量穩定
  • 總數據傳輸量 659.64 MB,平均每個請求 729 bytes,屬於輕量級請求,傳輸效率良好

請求分布特徵

流量高度集中於核心 API 端點,前 8 個最熱門的端點佔總流量的 73.48%,其中:

  • /api/v2/eq/eew(地震預警):36.87%
  • /api/v2/trem/rts(即時測站):36.63%

✅ 表現良好

  • 核心服務(地震預警和即時報告)流量分布均勻,在 4 個負載平衡器上各約 9%
  • 流量集中於核心功能,符合預期的使用模式

2. 負載平衡器表現

負載分布情況

伺服器請求數比例與理想值差異
lb-1290,15130.58%+5.58%
lb-2224,73023.68%-1.32%
lb-3212,32822.38%-2.62%
lb-4212,27622.37%-2.63%

✅ 表現良好

  • 4 台負載平衡器都在正常運作,沒有單點故障
  • 負載分布相對均勻,差異在可接受範圍內(22-31%)
  • 核心 API 端點在 4 台伺服器上分布均勻

⚠️ 表現不佳

  • lb-1.exptech.dev 處理了 30.58% 的流量,明顯高於其他伺服器(理想值應為 25%)
  • 負載分布不均可能導致 lb-1 承受較大壓力
  • lb-1 發生故障,影響範圍較大(約 30% 的流量)

通用域名使用情況

lb.exptech.dev(通用域名)僅處理 0.94% 的流量,表示大部分客戶端直接指定特定負載平衡器。此設計有助於故障隔離,提升系統可靠性。

3. API 端點使用情況

核心 API 端點負載

API 端點總請求數比例平均 RPS
/api/v2/eq/eew349,77936.87%~1,150
/api/v2/trem/rts347,52436.63%~1,143
/api/v1/trem/rts97,52510.28%~321
/ntp92,4409.75%~304
/websocket34,3633.62%~113
/api/v1/eq/eew25,9772.74%~85

✅ 表現良好

地震預警 (/api/v2/eq/eew)

  • 系統核心功能,流量最高(36.87%)
  • 在 4 個負載平衡器上分布均勻,運作穩定
  • 平均 RPS 約 1,150,處理能力良好

即時測站 (/api/v2/trem/rts)

  • 與地震預警 API 並列為核心服務(36.63%)
  • 負載分布均勻,運作穩定
  • 兩個核心 API 共同佔據 73.5% 的流量,顯示核心服務運作正常

API 版本使用情況

  • v2 API 使用率達 73.5%,為主要使用版本
  • 大部分用戶已遷移至 v2 API

⚠️ 表現不佳

  • v1 API 仍有 13.02% 的使用率,表示仍有部分用戶使用舊版 API
  • 需要關注 v1 API 的維護成本和相容性問題

其他服務表現

NTP 時間同步服務

  • 流量佔比 9.75%,運作穩定
  • 提供時間同步功能,使用率正常

WebSocket 連接

  • 流量佔比 3.62%,連線數穩定
  • 用於即時資料推送,運作正常

4. 客戶端平台分析

主要客戶端平台分布

排名平台請求數比例
1trem_lite375,76539.60%
2Dart/Flutter264,75327.90%
3tremv165,83417.48%
4ZeroQuake72,4347.63%
5Unknown27,7542.92%
6Node.js25,4292.68%

✅ 表現良好

平台多樣性

  • 共支援 14 個不同的平台,顯示系統被廣泛採用
  • 主要平台(trem_lite、Dart/Flutter、tremv)運作正常,共佔 84.98% 的流量

主要平台表現

  • trem_lite(39.60%):最大的單一客戶端平台,運作穩定
  • Dart/Flutter(27.90%):行動應用程式平台,使用率穩定
  • tremv(17.48%):第三大平台,運作正常

⚠️ 表現不佳

  • Unknown 平台(2.92%):27,754 個請求無法識別平台來源
  • 可能影響數據分析的準確性,無法針對特定平台進行優化

5. 系統健康狀況

整體錯誤率分析

狀態碼類別數量比例評估
2xx(成功)921,96397.16%✅ 優秀
3xx(重定向)10.00%✅ 正常
4xx(客戶端錯誤)26,9562.84%⚠️ 需改善
5xx(伺服器錯誤)00.00%✅ 極佳

✅ 表現良好

零伺服器錯誤(5xx)

  • 系統穩定性極佳,後端服務運作正常
  • 負載平衡器和後端伺服器未發生故障
  • 顯示系統架構穩定可靠

高成功率

  • 97.16% 的請求成功處理
  • 符合高品質服務標準(> 95%)
  • 系統整體運作品質優秀

499 錯誤極低

  • 僅 24 個請求(0.00%)被客戶端取消
  • 表示系統響應速度良好,用戶體驗佳

⚠️ 表現不佳

404 錯誤分析

  • 錯誤數量: 26,932 個(2.84%)
  • 錯誤率評估: 略高於理想值(理想 < 2%)

可能原因

  • 客戶端使用舊版 API 路徑或已變更的端點
  • API 版本不匹配
  • 客戶端配置錯誤(錯誤的端點路徑)
  • 舊版客戶端仍在使用已棄用的端點

影響

  • 影響用戶體驗,可能導致應用程式功能異常
  • 需要用戶更新客戶端或修正配置

6. 系統效能表現

請求大小分布

指標數值評估
平均請求大小728.91 bytes✅ 輕量級,效能良好
最小請求大小0 B正常(健康檢查)
最大請求大小94.12 KB正常(WebSocket)

✅ 表現良好

  • 平均請求大小合理,屬於輕量級 API 請求
  • 請求大小分布正常,無異常模式
  • 系統能夠高效處理輕量級請求

數據傳輸效率

指標數值評估
總傳輸量659.64 MB5 分鐘內傳輸量正常
平均傳輸速度約 2.2 MB/s傳輸速度穩定
平均每個請求大小729 bytes輕量級請求,效率良好

✅ 表現良好

  • 數據傳輸效率良好,符合 RESTful API 的典型特徵
  • 網路頻寬使用率在合理範圍內,無明顯瓶頸
  • 傳輸速度穩定,系統運作順暢

📋 總結

系統整體表現評估

評估項目狀態說明
系統穩定性✅ 優秀零伺服器錯誤,成功率高達 97.16%
負載平衡⚠️ 需改善lb-1 負載過高(30.58% vs 理想 25%)
API 端點✅ 良好核心 API 運作正常,流量分布均勻
錯誤處理⚠️ 需改善404 錯誤率 2.84%,略高於理想值
平台支援✅ 良好支援 14 個平台,主要平台運作正常

✅ 表現優秀的部分

1. 系統穩定性極佳

  • 零伺服器錯誤(5xx),後端服務運作正常
  • 97.16% 的請求成功處理,符合高品質服務標準
  • 系統能夠穩定處理高流量(平均 3,121 RPS)

2. 核心服務運作正常

  • 地震預警 API 和即時測站 API 運作穩定
  • 核心 API 在 4 個負載平衡器上分布均勻
  • 流量集中於核心功能,符合預期使用模式

3. 平台支援廣泛

  • 支援 14 個不同的平台
  • 主要平台(trem_lite、Dart/Flutter、tremv)運作正常

4. 效能表現良好

  • 請求處理效率高,平均請求大小合理
  • 數據傳輸效率良好,網路頻寬使用率正常

⚠️ 需要改善的部分

1. 負載平衡不均

  • lb-1 處理了 30.58% 的流量,高於其他伺服器
  • 可能導致 lb-1 承受較大壓力,影響整體效能

2. 404 錯誤率偏高

  • 2.84% 的 404 錯誤率略高於理想值(< 2%)
  • 可能影響用戶體驗,需要關注客戶端配置和 API 版本使用情況

3. v1 API 仍在使用

  • 仍有 13.02% 的流量使用 v1 API
  • 需要關注 API 版本遷移進度

4. Unknown 平台識別

  • 2.92% 的請求無法識別平台來源
  • 可能影響數據分析的準確性