HTTP 503 表示服務暫時不可用。需結合 Web 日誌(W3C/IIS/Apache access/error log)定位具體原因。
四大典型成因
- 惡意攻擊/異常流量:CC 攻擊、爬蟲暴力抓取觸發連接數/頻率限制 → 攻擊停止自動恢復
- 併發超出處理能力:單機架構瓶頸 → 優化代碼/快取/靜態化,或橫向擴展/升級配置
- 應用程式錯誤導致進程崩潰:短時間多次 Worker Process Crash → IIS 快速失敗保護關閉應用程式池 → 檢查事件日誌 Event ID 1000/503、分析 Dump
- 大文件下載佔滿頻寬:觸發主機商流量限制 → 限速/分流/升級頻寬
排查清單
- 檢查應用程式池狀態(是否 Stopped)
- 查看 Windows 事件查看器 → System/Application 日誌
- 分析近期訪問日誌:IP 分布、URL 熱點、狀態碼統計
- 監控效能計數器:CPU、Memory、Disk Queue、Network、Request Queue
- 檢查資料庫連接池、鎖等待、慢查詢
預防建議
- 配置 WAF/速率限制(Nginx limit_req、IIS Dynamic IP Restrictions)
- 啟用應用程式池自動回收(定時/記憶體/請求數閾值)
- 部署健康檢查與自動重啟腳本
- 靜態資源走 CDN,動態介面加快取(Redis/Memcached)