1 / 38

Web 應用程式與 IIS 6.0 整合技術探討

Web 應用程式與 IIS 6.0 整合技術探討. 恆逸資訊教育訓練處 資深講師 高光弘. 大綱. IIS 6.0 架構 IIS 6.0 應用程式隔離模式 IIS 6.0 強化的新功能 穩定性 效能 管理方式 安全性 和 ASP.NET 整合的能力. Web Garden. 應用程式集區 1. 應用程式集區 2. INETINFO. WAS. W3WP.EXE. W3WP.EXE. W3WP.EXE. W3WP.EXE. W3WP.EXE. W3WP.EXE. DLLHOST.exe. ASP.NET ISAPI.

asher-mcgee
Download Presentation

Web 應用程式與 IIS 6.0 整合技術探討

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web應用程式與IIS 6.0整合技術探討 恆逸資訊教育訓練處 資深講師 高光弘

  2. 大綱 • IIS 6.0 架構 • IIS 6.0 應用程式隔離模式 • IIS 6.0 強化的新功能 • 穩定性 • 效能 • 管理方式 • 安全性 • 和ASP.NET整合的能力

  3. Web Garden 應用程式集區1 應用程式集區2 INETINFO WAS W3WP.EXE W3WP.EXE W3WP.EXE W3WP.EXE W3WP.EXE W3WP.EXE DLLHOST.exe ASP.NET ISAPI ASP.NET ISAPI ASP.NET ISAPI ASP.NET ISAPI ISAPI Extensions (ASP, etc.) ISAPI Extensions (ASP, etc.) ISAPI Extensions (ASP, etc.) metabase CLR App Domain CLR App Domain CLR App Domain CLR App Domain Config Mgr Process Mgr CLR App Domain CLR App Domain CLR App Domain CLR App Domain ISAPI Filters ISAPI Filters ISAPI Filters HTTP.SYS Response Cache Namespace Mapper Send Response Req Queue Req Queue Req Queue HTTP Engine IIS 6.0 架構IIS 5.0 到 IIS 6.0 的轉變 INETINFO Aspnet_wp.exe metabase ASP.NET ISAPI CLR App Domain CLR App Domain CLR App Domain TCP/IP

  4. IIS 6.0 主要架構成員 • IIS管理服務 (InetInfo.exe) • 提供IIS管理工作、SMTP、NNTP、FTP等服務 • WWW 管理服務 (WAS) • 工作處理序管理 • 組態管理 • HTTP.sys • 負責處理Request • 提供Cache、Queue等功能 • 工作處理序 (W3WP.exe)

  5. IIS 管理服務InetInfo.exe • 主要工作 • 管理Metabase • 提供非HTTP的相關服務 • SMTP 簡易郵件傳送通訊協定服務 • NNTP 網路新聞傳輸通訊協定服務 • FTP 檔案傳輸通訊協定服務 • IIS 管理服務不執行任何Web應用程式 • 確保 Web server 可靠性 • 應用程式錯誤無法影響Web server

  6. WWW Service • 主要工作 • 設定 HTTP.sys • 讀取並監視 Metabase 設定改變 • 管理工作處理序 • WWW Service 不執行任何Web應用程式 • 確保 Web server 可靠性 • 應用程式錯誤無法影響Web server

  7. 工作處理序W3WP.EXE • 全部的Web應用程式皆使用 “Out of Process”方式執行 • 完整的隔離系統元件與其它的 Web 應用程式 • 當不正常時可以隔離工作處理序進行偵錯 • Demand Start: 工作處理序將在需要時才建立,在非使用狀況則被釋放

  8. Demand Start Working Set: 6,772K • 10:02am - Web Server 啟動 沒有任何應用程式集區執行緒被建立 HTTP.sys 接聽 Port 80 要求

  9. W3wp.exe HR Payroll HR Recruiting Demand Start Working Set: 33,784K • 10:05am–收到 HR Application 要求 HR Application Pool 啟動 HTTP.sys GET http://HRPayroll

  10. W3wp.exe W3wp.exe HR Payroll ERP Application HR Recruiting ERP Utility Demand Start Working Set: 40,208K • 10:10am–收到 ERP Application 要求 ERP Application Pool 啟動 HTTP.sys GET http://ERPortal

  11. W3wp.exe W3wp.exe HR Payroll ERP Application HR Recruiting ERP Utility Demand Start Working Set: 13,196K • 10:25am– HR Application Pool 超過等後逾時時間後自動結束 HR Application Pool Process is de-allocated HTTP.sys Still listening on HR and other endpoints

  12. HTTP.SYS • 將要求的 URL 導向到 IIS 應用程式集區 • 當應用程式無法使用的時候將 HTTP Request存放在佇列 中 • 在核心中提供靜態與動態網頁內容的Response快取,避免context switching • 使用 Kernel cache 大幅提高 throughput • 不載入或執行任何應用程式碼 • 不受到 Web 應用程式失敗或錯誤的影響

  13. 應用程式集區介紹 • IIS 5 提供 1 個 “集區” 程序 • IIS 6 應用程式集區 • 建立一個或多個集區 • 設定名稱 • 指派在網站、目錄或是虛擬目錄的應用程式到任何一個集區中 • 每個集區程序分別設定健康偵測、執行身分、回收 • 允許高可用性與隔離 • Site/用戶 • 功能性 • 可靠性 • 安全性 • Side by side 技術能讓不同版本元件在單一伺服器上執行

  14. IIS 6.0 應用程式隔離模式 • 工作處理序隔離模式 • IIS 6.0 重新設計的架構 • 預設身分識別為 NetworkService • 以工作處理序當作隔離的單位 • IIS 5.0 隔離模式 • 提供和IIS 5.0相容的環境 • 預設身分識別為 LocalSystem • 依隔離層級分低、中、高 注意:IIS 6.0 不能同時執行這兩種隔離模式

  15. IIS 6.0 應用程式隔離模式設定隔離模式

  16. IIS 6.0 強化的新功能使用工作處理序隔離模式的優點 • 更 好 的 穩 定 性 • 自 動 資 源 管 理 • 自 我 狀 態 偵 測 • 自 訂 身 份 識 別

  17. 應用程式集區 應用程式集區 更好的穩定性不再因為某個應用程式失敗而影響其他應用程式 • 工作處理序完全隔離 • 所有的工作處理序直接對Kernel溝通 • 工作處理序之間無法亙相影響 • Kernel模式下提供快取和佇列功能 • 應用程式集區 • Web gardens 工作處理序 工作處理序 WWW Service ISAPI Extensions ISAPI Extensions ISAPI Filters ISAPI Filters HTTP.sys

  18. 更好的穩定性設定應用程式集區

  19. 自動資源管理工作處理序回收處理及效能設定 • 工作處理序回收處理: • 工作時間 • 使用者提出的Request數量 • 固定時間週期 • 記憶體最大使用量 • 立即要求 • 效能設定 • 閒置時間 • Request Queue • CPU使用量

  20. 自動資源管理回收工作處理序

  21. Web Garden • 應用程式集區設定 • 可啟動的工作處理序個數 • 組態檔內 • SMPAffinitized 決定是否設定CPU Affinity • SMPProcessorAffinityMask 決定CPU配置

  22. Web Garden

  23. 自我狀態偵測健康情況 • 定期Ping工作處理序 • 無回應時,另外啟動一個新的工作處理序執行 • 啟動”快速失敗保護”機制 • 防止在短時間內發生異常的連續失敗(503) • 經由在單位時間發生失敗的次數決定 • 結果:停止該工作處理序

  24. 自訂身份識別決定在應用程式集區內的身份識別自訂身份識別決定在應用程式集區內的身份識別 • 內建身份識別 • LocalSystem - 權限最高 • NetworkService - 權限低,可以存取網路上的資源 • LocalService - 權限最低,只能存取本機資源 • 自訂身份識別 • 必須加入到IIS_WPG群組

  25. 管理功能的改良更容易管理 • 新的系統管理功能 • 可以搬移或複製網站及虛擬目錄的組態設定到其他位置 • 組態資料透過密碼保護 • 可以透過使用者介面或ADSI/WMI API管理 • XML Metabase • XML Base,用來設定IIS 6.0的組態定義檔

  26. 管理功能的改良 應用程式目錄複製

  27. 管理功能的改良XML Metabase • Text Base,任何文字編輯器都可以編輯 • 自動版本控管及記錄歷史資料 • 自動建立備份 • 可以在IIS執行服務時修改資料 • 複製整個網站或應用程式

  28. 管理功能的改良 XML Metabase 備份和還原

  29. 使用 Cache Request Response Request Response 效能的改良 動態核心快取 GET http://www.netmag.com.tw/magList.aspx 沒有 Cache <%@ OutputCache Duration="10" VaryByParam="none" %>

  30. 安全性的改良預設就是安全的設定 • 產品異動的部分 • 驗證及授權

  31. 安全性的改良產品異動的部分 • 預設不會安裝IIS • IIS預設只提供靜態文件讀取 • 不允許透過IIS執行命令模式下的程式 • IIS透過權限很低的帳戶執行 • 加強預設的安全性 • 更多限制及Timeout

  32. 安全性的改良Web Service Extensions UI

  33. 安全性的改良新的驗證方式 • 進階摘要式驗證 • 類似IIS 5.0的摘要式驗證,會將使用者憑證透過Hash方式存放於AD上 • .NET Passport • 描述提供單一登入安全,給予使用者存取網際網路上多種服務的驗證方法 • 預設登入網域

  34. 安全性的改良新的授權方式 • URL授權 • URL Base權限管理 • 以角色為基礎 • 應用程式群組

  35. 和ASP.NET整合的部份相較IIS 5.0的差異處 • 安裝IIS 6.0後預設沒有使用ASP.NET • 在工作處理序隔離模式下 • 身份識別為NetworkService • 原本的<processModel>設定大部份都被IIS 6.0取代 • 工作處理序為w3wp.exe • 透過IIS 6.0來維護Web應用程式 • 執行效能較佳

  36. 結論 • 為了充份發揮IIS 6.0的新功能 • 使用工作處理序隔離架構 • 效能、穩定性、延展性 • Metabase • 讓IIS 6.0容易部署、備份及復原 • 對ASP.NET Web應用程式的影響 • 透過IIS 6.0管理應用程式資源 • 使用新的處理序身份識別 NetworkService

  37. 參考資源 • IIS Community Portal • http://www.microsoft.com/windowsserver2003/community/centers/iis/default.mspx • IIS Portal • http://www.microsoft.com/iis • Third-party sites • http://iisanswers.com • http://iisfaq.com

More Related