ServiceFlow - API 故障排查實驗
以 FastAPI 建立的應用支援項目,透過訂單流程練習 SQL 排查、付款異常處理及 API 回歸測試。
- 問題
- 訂單報表存在重複查詢;付款失敗後,訂單可能仍被標記為已付款;無效的訂單明細亦可能令金額計算出錯。
- 方法
- 我結合請求日誌、服務層程式碼及 SQL 查詢計劃找出原因,再加入索引及彙總查詢、修正付款和資料驗證邏輯,並用 pytest 檢查修正結果。
- 結果
- 在生成的 SQLite 數據集上,索引及彙總查詢把本機服務層中位耗時由 90.26 ms 降至 2.11 ms(42.8 倍);數據包括 500 名客戶、2,000 筆訂單及 5,966 條明細。
- Python
- FastAPI
- SQLAlchemy
- SQLite
- SQL diagnostics
- pytest
- GitHub Actions
本機生成數據 · 模擬故障 · 無線上示範。