390 likes | 638 Views
IIS 6.0 新功能及與 .NET 的整合. 鄭淑芬 恆逸資訊. What’s new in IIS 6.0. 新的執行架構 可靠性 效能提昇 簡化管理 對 .NET 的支援. DLLHost.EXE. DLLHost.EXE. DLLHost.EXE. ISAPI Extensions. ISAPI Extensions. ISAPI Extensions. IIS 5.0 架構. INETINFO.EXE. ISAPI Filters and Extensions. Metabase. WinSock 2.0. User Mode.
E N D
IIS 6.0新功能及與.NET的整合 鄭淑芬 恆逸資訊
What’s new in IIS 6.0 • 新的執行架構 • 可靠性 • 效能提昇 • 簡化管理 • 對.NET的支援
DLLHost.EXE DLLHost.EXE DLLHost.EXE ISAPI Extensions ISAPI Extensions ISAPI Extensions IIS 5.0 架構 INETINFO.EXE ISAPI Filters and Extensions Metabase WinSock 2.0 User Mode Kernel Mode TCP/IP
提昇效能及穩定性IIS的新架構 • HTTP.SYS • kernel-mode HTTP Listener • Web Admin Service (WAS) • user-mode 管理設定/應用程式 • Application Pools 及 Worker Processes的概念與架構
Inetinfo Web Server Metabase W3 Core W3 Core Worker Process WAS FTP, SMTP, 及 NNTP Web 應用程式 User Kernel HTTP.SYS 全新的IIS架構
Worker Process Worker Process Worker Process Worker Process Web Admin Service HTTP.SYS Listener 優點 • 更可靠 • 區隔Third-party 程式 • 每個Web應用程式可由一個或多個Worker Processes分擔處理 • Worker Process Recycling • Worker Process Monitoring • 更好的效能 • Request直接從Kernel Mode繞送到Worker Process
HTTP.SYS • 它是… • Universal HTTP processor • 永遠保持在執行狀態 • 更可靠 • 依名稱空間進行繞送(routing) • 要求佇列(Request queue) • 開發人員的禁地 • 更好的效能 • Kernel-mode response cache • URI-cache
REQUEST HTTP.SYS HTTP.SYS API HTTP.SYS Send Response Listener Req. Queue Req. Queue Req. Queue Namespace Mapper Response Cache HTTP Engine HTTP Parser TCP/IP
Web Admin Service (I) • 管理應用程式 • 啟動 worker processes • 管理 Application Pools • 管理設定 • 向HTTP.SYS註冊網站及應用程式
Web Admin Service (II) • 定期進行資源回收 • 依時間、處理過的Request數、時間間隔、佔用的記憶體大小、強制回收 • 監視程式執行狀態 • Pinging • Crash Detection • Rapid Fail Protection • Better debugging support • Orphan worker process • 如何設定…
W3 Core W3 Core Worker Process MetaBase.xml Web 應用程式 HTTP.SYS kernel WAS – Web Administrator Service WAS Config Mgr App Pool Mgr user
Application Pools • 何謂 Application Pool? • 一組共享Worker Processes 的Web應用程式 • Process Boundary • 新增 App pool 即定義新的process boundary • HTTP.SYS依名稱空間將使用者要求引導至所對應的行程 • On-demand start • Web Gardens • 在一個App pool中有多個 worker process
Web Garden Web Garden W3 Core Web Proc. Core DLL W3 Core Web Proc. Core DLL W3 Core ISAPI Exts & Filters ISAPI Exts & Filters ISAPI Exts & Filters ISAPI Exts & Filters ISAPI Exts & Filters Worker Process Isolation Mode • 架構 App Pool (2) App Pool (3) App Pool (1) Worker Process Worker Process Web Garden WAS user kernel HTTP.SYS
Worker Processes • 推動Application Pool 運作的原動力 • 具體而微的 Web Server • 涵蓋所有W3SVC 功能 • 載入ISAPI – filters 及 extensions • 區隔W3SVC 與 INETINFO.EXE
深入Worker Process • 處理 Request • 回傳靜態網頁 • 啟動ISAPI extension 或 ISAPI filter • 執行CGI Worker process Single App ISAPI Extensions ISAPI Filters W3WP.EXE
Worker Process Multiple Apps Multiple Apps Multiple Apps Multiple Apps Multiple Apps Multiple Apps Multiple Apps Multiple Apps Multiple Apps ISAPI Extensions ISAPI Extensions ISAPI Filters ISAPI Extensions ISAPI Filters ISAPI Filters W3WP.EXE Web Garden • 一個Application pool指定多個Worker processes • 某個worker processes負載過重、lock,其它的worker processes可繼續處理其它的Requests • 多CPU電腦 • 不同於Web Farm
Web Garden Web Garden W3 Core Web Proc. Core DLL Web Proc. Core DLL W3 Core W3 Core ISAPI Exts & Filters ISAPI Exts & Filters ISAPI Exts & Filters ISAPI Exts & Filters ISAPI Exts & Filters Worker Process -Health monitoring • 監視 Worker processes • 定期ping worker processes • WAS與每個worker process維護一個communication channel Worker Process Worker Process WebGarden WAS
How they work together? HTTP.SYS、WAS、Application Pool、Worker Processes…
Web Server WorkerProcess WorkerProcess WAS WorkerProcess MetaBase.xml Config Mgr App Pool Mgr User Kernel 處理Request On demand start HTTP.SYS
Web Service Always Running!!! Web Server WorkerProcess WorkerProcess WorkerProcess WorkerProcess WorkerProcess WAS WorkerProcess Config Mgr App Pool Mgr User Kernel 管理 ZZzzzzz… Web 永遠在執行狀態!!! HTTP.SYS
What’s new in IIS 6.0 • 新的執行架構 • 可靠性 • 效能提昇 • 簡化管理 • 對.NET的支援
簡化管理 • XML-based 設定資訊 • WMI Provider • 更多的Command-line命令
Metabase • 以階層式儲存IIS設定資訊 • IIS 5.0 之前版本: binary file • MetaBase.bin • IIS 6.0 : 純文字的XML檔案 • MetaBase.xml • MBSchema.xml • XML格式的好處 • 可直接以文字編輯器編輯 • 簡化錯誤復原手續 • 簡化設定、管理 • 與現有ADSI相容
Metabase • IIS 5.0架構 Admin UI ADSI Admin Base Object (ABO) MetaBase.bin
WMI MetaBase.xml MBSchema.xml Metabase • IIS 6.0架構 Admin UI ADSI Admin Base Object (ABO)
XML-Based 設定資訊 • Backup/Restore • ABO(Admin Base Objects) API • 可從任一節點進行Import/Export • 密碼加密 • Metabase History • 執行時仍可編輯
WMI Provider • 目標 • 提供與ADSI相同等級的管理能力 • 支援擴充的Schema • 功能 • 類似ADSI • Scriptable • Objects 及其 methods • 查詢 – 類似SQL的查詢方式 • 群組同類型的物件
命令列管理工具 • 新增、刪除、啟動、停止 Web 或 FTP site • iisweb.vbs • iisftp.vbs • 新增、刪除、查詢虛擬目錄 • iisvdir.vbs • iisftdr.vbs • 設定IIS • iiscnfg.vbs: 匯出/匯入XML設定檔 • iisback.vbs: 備份/復原設定
What’s new in IIS 6.0 • 新的執行架構 • 可靠性 • 效能提昇 • 簡化管理 • 對.NET的支援
IIS6 – ProgrammabilityASP Improvements • Unicode Path support • 支援UTF-8 • COM+ Services for ASP • ASP Threads • COM+ Queue • ASP Template Cache • 預設250 templates快取在記憶體中 • 亦可快取在硬碟中 • ASP template不需重新編譯
對.NET的支援 • ASP.NET執行環境設定 • 已與IIS 6.0的Worker Process整合 • 支援Application Pool • UTF-8編碼 • How to: 在web.config檔中設定 • .NET Cache API • 可直接存取、設定HTTP.SYS的內部快取 • output cache:快取執行結果 • fragmented cache:部分網頁內容
對.NET的支援 • ASP.NET狀態維護 • ASP.NET State Server • 將狀態資訊儲存在ASP.NET程式外部 • 獨立行程 • 獨立電腦 • SQL Server 資料庫 • 提高強固性、延展性 • 簡化Web Service開發 • ASP.NET簡化IIS 6.0的Web Service開發
重點總結 • 新的IIS 6.0架構提供更穩固、更快的Web平台 • HTTP.SYS • Web Admin Service • Application Pool及Worker Process • ASP Template Cache • XML-based Metabase • 新增許多Command-line命令 • 對.NET的支援
更多的資源 • http://www.microsoft.com/windows2000 • Windows 2000 首頁、更新、service packs及 add-ons, scripting … • http://www.microsoft.com/taiwan/windows2000 • Windows 2000 中文首頁 • SQL Server Magazine 國際中文電子版http://www.sqlmag.com.tw • ASP.NET進階 • 恆逸專屬課程
http://www.microsoft.com/taiwan/windows2000 http://www.microsoft.com/taiwan/security