Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

伺服器不穩/網站緩慢排查指南:資源爭用、盜鏈、濫用程式三大核心成因

編輯:關於伺服器

現象定義

「Service Unavailable」、頁面載入 > 10 秒、CPU 持續 100%、資料庫連線池耗盡、IIS 工作程序頻繁回收 — 多見於共享主機/虛擬主機/資源受限雲主機。

成因一:方案選型與流量嚴重錯位

  • 日均 PV 10 萬+ (約 1,000 並發) 卻使用 50-100 人合租方案 (建議獨立/雲主機 4C8G 起)
  • 單一站點佔用超過公平份額 CPU/記憶體/頻寬/IOPS,觸發主機商資源限制或影響同機其他站點
  • 對策:依據 峰值並發、資料庫大小、腳本複雜度、靜態資源量 選型;要求試用期監控數據或壓測報告

成因二:不適合共享環境的高耗資源業務

成因三:站點內部濫用與維護缺失

  • 程式堆疊:單一空間裝 10+ 套 CMS/測試版/備份舊版,各佔應用程式池、連線池、排程
  • 未測試上線:含無限迴圈、SQL 注入、記憶體洩漏、遞迴調用的程式碼直接上線
  • 統計/分析腳本拖慢:同步載入第三方統計 (舊版 CNZZ/51LA)、自建統計表寫入鎖表
  • 資料庫失調:Access 未壓縮修復、MSSQL 索引碎片 > 30%/統計資料過期、MySQL 慢查詢無索引

自查與防護清單 (可列印貼工位)

  1. 防盜鏈:Nginx valid_referers + map 簽名 URL / Apache mod_rewrite / IIS URL Rewrite
  2. 定期清理:刪除舊版程式、備份包、超過 30 天存取日誌、tmp 檔案
  3. 本地全流程測試:功能 + 壓測 (ab/wrk/JMeter) + 靜態分析 (SonarQube/CodeQL)
  4. 資料庫維護計畫:
    • Access:每週 Compact & Repair
    • MSSQL:每週重建索引 (ALTER INDEX ... REBUILD)、更新統計 (UPDATE STATISTICS)、DBCC CHECKDB
    • MySQL:ANALYZE TABLE、OPTIMIZE TABLE、啟用 slow_query_log
  5. 監控告警閾值:
    • CPU > 80% 持續 5 分鐘
    • 記憶體 > 85%
    • 應用程式池回收 > 3 次/小時
    • 資料庫連線池使用率 > 80%
    • 磁碟剩餘 < 15%
  6. 異動時優先檢查:最新部署程式、存取日誌 Top 20 IP/URL、慢查詢日誌、錯誤日誌

服務商端最佳實務

  • 硬性資源配額 (Cgroups/LVE/IIS CPU 節流)
  • 強制獨立應用程式池隔離
  • 定期掃描 Webshell/挖礦/垃圾郵件腳本
  • 提供租戶自助資源儀表板 (Grafana/Prometheus/主機商面板)
  • 異常流量自動限流 + 通知租戶
Copyright © Windows教程網 All Rights Reserved
業務類型資源特徵建議架構
大檔案下載/影音串流持續高頻寬、磁碟 I/O、長連線佔用 Worker物件儲存 (S3/MinIO) + CDN + 簽名 URL 過期
即時通訊/推播/長輪詢萬級持久連線、記憶體常駐、WebSocket獨立 Node.js/Go 服務 + Redis Pub/Sub
爬蟲/採集/靜態化生成週期性 CPU/磁碟尖峰、大量 DB 寫入離峰排程 (02-06 點) + 獨立排程節點
高流量圖片/靜態資源大量小檔案讀取、inode 耗盡、盜鏈放大CDN + Referer/Token 防盜鏈 + 圖片壓縮/WebP