背景動機
架設網站已成趨勢,Windows 2000/2003 內建 IIS 快速建站。但預設配置為通用保守設置,存在諸多限制影響高效運行。本文針對三大核心瓶頸提供突破方案。
策略一:突破容量限制,實現大檔案上傳
預設限制
IIS 6.0 (Win2003) 預設 AspMaxRequestEntityAllowed = 204800 (200KB),超限拋出「Request 物件錯誤」。
修改流程
services.msc → 停止 World Wide Web Publishing Service
- 編輯
%windir%\system32\inetsrv\metabase.xml(記事本)
- 搜尋
AspMaxRequestEntityAllowed,修改數值(Bytes)
範例:10MB → 10485760 (10×1024×1024)
- 儲存檔案
- 重新啟動 World Wide Web Publishing Service
- IIS 管理器重啟目標 ASP 網站

策略二:突破記憶體限制,實現高速穩定運行
問題本質
預設不自動回收應用程式進程記憶體,隨時間增長記憶體耗盡導致系統癱瘓。
應用程式池自動回收配置
- 控制台 → 管理工具 → Internet 資訊服務管理器
- 展開:本地電腦 → 應用程式池 → DefaultAppPool → 右鍵「屬性」
- 「回收」頁籤配置三大觸發條件:
- 時間間隔:勾選「回收工作進程(分鐘)」,設定間隔(如 1740 分鐘 = 29 小時,錯開尖峰)
- 請求數量:勾選「回收工作進程(請求數目)」,設定閾值(如 5000 請求)
- 排程時間:勾選「在下列時間回收工作進程」,點「新增」設定閒時(建議凌晨 02:00)
- 確定儲存

綁定目標網站至優化應用程式池
- IIS 管理器右鍵目標網站 → 「屬性」→「主目錄」頁籤
- 檢查「應用程式池」是否為
DefaultAppPool,否則調整
- 重新啟動 IIS 服務生效
策略三:突破資源限制,實現高效處理
降低應用程式保護層級(提升 20% 效能)
- IIS 管理器 → 目標網站 → 「屬性」→「主目錄」頁籤
- 「應用程式保護」下拉選單選 「低 (IIS 進程)」
- 確定

原理:低保護級別下應用程式直接在 IIS 主進程 (inetinfo.exe) 內運行,消除進程間通訊開銷。風險:單一應用崩潰波及整個 IIS,生產環境權衡使用。
停用存取日誌釋放磁碟 I/O
- 網站「屬性」→「網站」頁籤 → 取消勾選「啟用日誌記錄」
- 省去每請求寫入日誌的磁碟開銷,提升高併發處理能力
啟用 HTTP Keep-Alive 連接復用
- 同「網站」頁籤 → 勾選「啟用保持 HTTP 活動」
- 減少 TCP 連接建立/銷毀開銷,提升持續訪問效率
根本效能提升建議
- 部署專用高效能伺服器硬體
- 增加多核心 CPU 擴展並行處理能力
- 採用 SSD 儲存陣列提升 I/O 效能
- 啟用核心模式快取 (Kernel-mode Cache) 加速靜態內容
- 實施內容壓縮 (gzip/deflate) 減少頻寬傳輸