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

IIS 6.0 應用程式集區完整指南:建立、指派、回收機制、Web Garden、效能調優與身分識別設定

編輯:Web 伺服器

核心概念:應用程式集區

將一或多個應用程式連結至一或多個工作進程集合的配置。**工作進程邊界隔離** 不同集區應用程式,單一集區故障不波及其他,大幅提升可靠性。

兩種工作模式 (Win2003)

  • IIS 6.0 工作進程隔離模式 (預設): 所有程式碼在隔離環境運行,支援多集區、不同配置、直接從核心接收請求、效能與可靠性增強
  • IIS 5.0 相容模式: 單一進程模型,不支援集區隔離

切換:IIS 管理員 → 右鍵網站 → 「內容」→ 選擇模式

工作模式切換

建立應用程式集區

  1. IIS 管理員 → 本機電腦 → 右鍵「應用程式集區」→ 新增 → 「應用程式集區」
  2. 輸入名稱,ID 自動產生可修改
  3. 可選「使用現有集區為範本」快速複製設定

新增集區對話框

指派應用程式至集區

  1. 右鍵應用程式 (虛擬目錄/網站) → 「內容」→「主目錄」
  2. 確認「應用程式名稱」已填寫 (未填點「建立」)
  3. 「應用程式集區」下拉選單選擇目標集區 → 確定

指派集區

集區屬性四大分頁深度解析

1. 回收 - 核心穩定機制

定期重啟工作進程,釋放資源、修復洩漏、恢復異常狀態。

  • 預設: 1740 分鐘 (29 小時) 回收一次
  • 觸發條件: 時間間隔、請求數、排程時間、記憶體上限 (實體/虛擬)
  • Overlapped Recycle (預設): 新進程啟動接管新請求,舊進程處理完佇列請求後正常結束,TCP 連線由 HTTP.sys 維持不中斷。**Session 狀態會遺失**
  • 禁用 Overlap: 設定 DissallowOverlappingRotation = 1,舊進程結束後新進程才啟動 (適用單實例應用)
  • 孤兒進程除錯: 設定 OrphanActionExe 執行除錯工具,保留失敗進程分析
  • 事件日誌: LogEventOnRecycle = 1 記錄回收事件

2. 效能 - Web Garden 與 CPU 親和性

  • Web Garden: 單一集區啟動多工作進程 (設「最大工作進程數」>1),循環分發請求 (Round Robin),構建單機小型 Web Farm
  • 負載輕時自動縮減進程 (預設 20 分鐘),重時自動擴展
  • Session 注意: Web Garden 下各進程擁有獨立 Session/Application/快取/靜態資料,**需確保用戶請求黏著至同進程** (保持連線開啟或使用外部 Session State Server/SQL Server)
  • SMP 親和性: SMPAffinitized = true + SMPProcessorAffinityMask (十六進制遮罩) 將進程綁定特定 CPU 核心

效能分頁

3. 健康偵測 - 自動故障隔離

  • 定期 Ping 工作進程 (預設 30 秒)
  • 啟動/關閉時間限制
  • 快速失敗保護:指定時間內達到失敗閾值則禁用集區
  • ISAPI 應用程式可主動宣告不健康觸發回收

健康偵測分頁

4. 身分識別 - 執行安全內容

  • 預設:**Network Service** 低權限帳號
  • 可配置自訂帳號:選「可設定」→ 輸入用戶名/密碼 → **必須加入 IIS_WPG 群組**
  • 加入 IIS_WPG 步驟:
    「我的電腦」右鍵 → 管理 → 本地用戶和群組 → 群組 → IIS_WPG → 加入帳號

身分識別分頁

關鍵參數對照表 (ASP.NET processModel ↔ IIS 6 集區)

集區設定對應 processModel 屬性說明
閒置逾時idleTimeout預設 20 分鐘無活動則關閉
要求佇列限制requestQueueLimit預設 1000,回收期間排隊上限
記憶體回收 (實體/虛擬)memoryLimitMB 為單位,非百分比;支援分別設定實體/虛擬上限
請求數回收requestLimit達指定請求數觸發回收
時間間隔回收timeout預設 120 分鐘 (註:文中另有 1740 分鐘預設,以 UI 為準)

Web Garden 參數行為變化摘要

  • PeriodicRestartTime:改為**所有進程輪流回收的總間隔** (如 4 進程 20 小時 → 每 5 小時回收 1 個)
  • PeriodicRestartRequests:改為**所有進程輪流回收的總請求數**
  • PeriodicRestartSchedule:**同時回收所有進程**
  • RapidFailProtection:統計**整個 Garden 總失敗數**比較閾值
  • IdleTimeout:每進程**獨立計算**
  • 進程崩潰時替代進程繼承 PeriodicRestartTime 剩餘運行時間

操作檢查清單

  1. 每個獨立網站/應用程式建立專屬集區
  2. 根據流量設定合理回收條件 (時間/記憶體/請求數)
  3. 啟用記憶體上限 (實體+虛擬) 防止單一應用耗盡資源
  4. Session 應用**禁用 Web Garden** 或改用外部 Session State
  5. 生產環境集區身分識別使用專用低權限帳號並加入 IIS_WPG
  6. 監控事件日誌回收記錄、健康偵測失敗事件
  7. 高 CPU 多核心伺服器配置 SMP 親和性提升緩存命中率
Copyright © Windows教程網 All Rights Reserved