IIS 6.0 新功能及與 .NET 的整合
description
Transcript of IIS 6.0 新功能及與 .NET 的整合
IIS 6.0IIS 6.0 新功能及與新功能及與 .NET.NET 的整合的整合
鄭淑芬鄭淑芬恆逸資訊恆逸資訊
What’s new in IIS 6.0What’s new in IIS 6.0 新的執行架構 可靠性 效能提昇 簡化管理 對 .NET 的支援
INETINFO.EXE
Metabase
ISAPI Filters and Extensions
IIS 5.0 IIS 5.0 架構架構
TCP/IP
User Mode WinSock 2.0
Kernel Mode
DLLHost.EXE
ISAPI Extensions
DLLHost.EXE
ISAPI Extensions
DLLHost.EXE
ISAPI Extensions
提昇效能及穩定性提昇效能及穩定性IISIIS的新架構的新架構 HTTP.SYS
kernel-mode HTTP Listener Web Admin Service (WAS)
user-mode 管理設定 / 應用程式 Application Pools 及 Worker Processes 的概念與
架構
全新的全新的 IISIIS 架構架構
UserUser
KernelKernel
InetinfoInetinfo
FTP, SMTP,FTP, SMTP,及 及 NNTPNNTP
MetabaseMetabaseW3 CoreW3 Core
WASWASW3 CoreW3 CoreWorker Worker ProcessProcess
Web Web 應應用程式用程式
HTTP.SYSHTTP.SYS
Web ServerWeb Server
優點優點 更可靠
區隔 Third-party 程式 每個 Web 應用程式可由一個或多個 Worker Processes 分擔處
理 Worker Process Recycling Worker Process Monitoring
更好的效能 Request 直接從
Kernel Mode 繞送到 Worker Process Web
Admin Service
HTTP.SYS Listener
Worker Process
Worker Process
Worker Process
Worker Process
HTTP.SYSHTTP.SYS 它是…
Universal HTTP processor 永遠保持在執行狀態
更可靠 依名稱空間進行繞送 (routing) 要求佇列 (Request queue) 開發人員的禁地
更好的效能 Kernel-mode response cache URI-cache
HTTP.SYSHTTP.SYS
TCP/IP
HTTP.SYS
Send Response
Response Cache
HTTP.SYS API
Listener
Namespace Mapper
HTTP Engine
HTTP Parser
Req
. Que
ue
Req
. Que
ue
Req
. Que
ue
REQUEST
Web Admin Service (I)Web Admin Service (I) 管理應用程式
啟動 worker processes 管理 Application Pools
管理設定 向 HTTP.SYS 註冊網站及應用程式
Web Admin Service (II)Web Admin Service (II) 定期進行資源回收
依時間、處理過的 Request 數、時間間隔、佔用的記憶體大小、強制回收
監視程式執行狀態 Pinging Crash Detection Rapid Fail Protection
Better debugging support Orphan worker process
如何設定…
WASWAS
WAS – WAS – WebWeb Administrator Service Administrator Service
Co
nfi
g M
gr
Co
nfi
g M
gr
Ap
p P
oo
l M
gr
Ap
p P
oo
l M
gr
MetaBase.xmlMetaBase.xml
W3 CoreW3 CoreW3 CoreW3 CoreWorker Worker ProcessProcess
Web Web 應應用程式用程式
HTTP.SYSHTTP.SYS
kern
elke
rnel
use
ru
ser
Application PoolsApplication Pools 何謂 Application Pool?
一組共享 Worker Processes 的 Web 應用程式 Process Boundary
新增 App pool 即定義新的 process boundary HTTP.SYS 依名稱空間將使用者要求引導至所對應
的行程 On-demand start
Web Gardens 在一個 App pool 中有多個 worker process
Worker Process Isolation Worker Process Isolation ModeMode 架構架構
kernel
user
WA
SW
AS
HTTP.SYSHTTP.SYS
ISAPI Exts &ISAPI Exts &FiltersFilters
W3 CoreW3 Core
Worker Worker ProcessProcess
ISAPI Exts &ISAPI Exts &FiltersFilters
W3 CoreW3 Core
Web Web GardenGarden
ISAPI Exts &ISAPI Exts &FiltersFilters
Web Proc. Web Proc. Core DLLCore DLL
Web Web GardenGarden
ISAPI Exts &ISAPI Exts &FiltersFilters
Web Proc. Web Proc. Core DLLCore DLL
Web Web GardenGarden
ISAPI Exts &ISAPI Exts &FiltersFilters
W3 CoreW3 Core
Worker Worker ProcessProcess
App Pool (1) App Pool (2) App Pool (3)
Application PoolApplication Pool
Worker ProcessesWorker Processes 推動 Application Pool 運作的原動力 具體而微的 Web Server
涵蓋所有 W3SVC 功能 載入 ISAPI – filters 及 extensions
區隔 W3SVC 與 INETINFO.EXE
深入深入 Worker ProcessWorker Process
處理 Request 回傳靜態網頁 啟動 ISAPI extension 或 ISAPI filter 執行 CGI
Worker processWorker process
ISAPI FiltersISAPI Filters
ISAPI ExtensionsISAPI Extensions
SingleSingleAppApp
W3WP.EXEW3WP.EXE
WebWeb Garden Garden 一個 Application pool 指定多個 Worker processes
某個 worker processes 負載過重、 lock ,其它的 worker processes 可繼續處理其它的Requests
多 CPU 電腦 不同於 Web Farm
ISAPI FiltersISAPI Filters
ISAPI ExtensionsISAPI Extensions
MultipleMultipleAppsApps
MultipleMultipleAppsApps
MultipleMultipleAppsApps
W3WP.EXEW3WP.EXE
ISAPI FiltersISAPI Filters
ISAPI ExtensionsISAPI Extensions
MultipleMultipleAppsApps
MultipleMultipleAppsApps
MultipleMultipleAppsApps
Worker ProcessWorker Process
ISAPI FiltersISAPI Filters
ISAPI ExtensionsISAPI Extensions
MultipleMultipleAppsApps
MultipleMultipleAppsApps
MultipleMultipleAppsApps
Worker Process Worker Process --Health monitoringHealth monitoring 監視 Worker processes
定期 ping worker processes WAS 與每個 worker process 維護一個 communication
channel
WA
SW
AS
Worker Worker ProcessProcess
ISAPI Exts &ISAPI Exts &FiltersFilters
W3 CoreW3 Core
Worker Worker ProcessProcess
ISAPI Exts &ISAPI Exts &FiltersFilters
W3 CoreW3 Core
Web Web GardenGarden
ISAPI Exts &ISAPI Exts &FiltersFilters
Web Proc. Web Proc. Core DLLCore DLL
Web Web GardenGarden
ISAPI Exts &ISAPI Exts &FiltersFilters
Web Proc. Web Proc. Core DLLCore DLL
WebWeb GGardenarden
ISAPI Exts &ISAPI Exts &FiltersFilters
W3 CoreW3 Core
How they work together?How they work together?
HTTP.SYSHTTP.SYS 、、 WASWAS 、、 ApplicatioApplication Pooln Pool 、、 Worker Processes…Worker Processes…
MetaBase.xmlMetaBase.xmlWASWAS
Co
nfi
g M
gr
Co
nfi
g M
gr
Ap
p P
oo
l M
gr
Ap
p P
oo
l M
gr
UserUser
KernelKernel
HTTP.SYSHTTP.SYS
Web ServerWeb ServerWorkerWorkerProcessProcessWorkerWorker
ProcessProcess
WorkerWorkerProcessProcess
處理處理 RequestRequestOn demand startOn demand start
WorkerWorkerProcessProcess
WASWAS
Co
nfi
g M
gr
Co
nfi
g M
gr
Ap
p P
oo
l M
gr
Ap
p P
oo
l M
gr
UserUser
KernelKernel
HTTP.SYSHTTP.SYS
Web ServerWeb Server
WorkerWorkerProcessProcessWorkerWorker
ProcessProcess
管理管理
WorkerWorkerProcessProcess
ZZzzzzz…
WorkerWorkerProcessProcessWorkerWorker
ProcessProcess
Web Service Always Running!!!Web Service Always Running!!!
Web Web 永遠在執行狀態永遠在執行狀態 !!!!!!
What’s new in IIS 6.0What’s new in IIS 6.0
新的執行架構 可靠性 效能提昇 簡化管理 對 .NET 的支援
簡化管理簡化管理 XML-based 設定資訊 WMI Provider 更多的 Command-line 命令
MetabaseMetabase 以階層式儲存 IIS 設定資訊
IIS 5.0 之前版本 : binary file MetaBase.bin
IIS 6.0 : 純文字的 XML 檔案 MetaBase.xml MBSchema.xml
XML 格式的好處 可直接以文字編輯器編輯 簡化錯誤復原手續 簡化設定、管理
與現有 ADSI 相容
MetabaseMetabase
IIS 5.0IIS 5.0 架構架構
Admin Base Object (ABO)Admin Base Object (ABO)
Admin UIAdmin UI ADSIADSI
MetaBase.binMetaBase.bin
MetabaseMetabase
IIS 6.0IIS 6.0 架構架構
Admin Base Object (ABO)Admin Base Object (ABO)
Admin UIAdmin UI ADSIADSI WMIWMI
MetaBase.xmlMetaBase.xml MBSchema.xmlMBSchema.xml
XML-Based XML-Based 設定資訊設定資訊 Backup/Restore
ABO(Admin Base Objects) API 可從任一節點進行 Import/Export 密碼加密
Metabase History 執行時仍可編輯
Edit-while-runningEdit-while-running
WMI ProviderWMI 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: 備份 / 復原設定
IIS IIS 命令列管理工具命令列管理工具
What’s new in IIS 6.0What’s new in IIS 6.0
新的執行架構 可靠性 效能提昇 簡化管理 對 .NET 的支援
IIS6 – ProgrammabilityIIS6 – ProgrammabilityASP ImprovementsASP Improvements
Unicode Path support 支援 UTF-8 COM+ Services for ASP
ASP ThreadsCOM+ Queue
ASP Template Cache預設 250 templates 快取在記憶體中亦可快取在硬碟中ASP template 不需重新編譯
對對 .NET.NET 的支援的支援 ASP.NET 執行環境設定
已與 IIS 6.0 的 Worker Process 整合支援 Application PoolUTF-8 編碼How to: 在 web.config 檔中設定
.NET Cache API可直接存取、設定 HTTP.SYS 的內部快取output cache :快取執行結果fragmented cache :部分網頁內容
對對 .NET.NET 的支援的支援 ASP.NET 狀態維護
ASP.NET State Server將狀態資訊儲存在 ASP.NET 程式外部
獨立行程獨立電腦SQL Server 資料庫
提高強固性、延展性 簡化 Web Service 開發
ASP.NET 簡化 IIS 6.0 的 Web Service 開發
IIS 5.0IIS 5.0 與與 6.06.0 的比較的比較IIS 5.0 IIS 6.0
作業平台 Windows 2000 .NET Server
架構 TCP/IP WinSock搭配DllHost.exe
HTTP.SYS 搭配一個或多個Worker Processes
Metabase Binary XML 檔案安全 Windows
KerberosSSL
Windows KerberosSSLPassword
重點總結重點總結 新的 IIS 6.0 架構提供更穩固、更快的 Web 平台
HTTP.SYSWeb Admin ServiceApplication 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/windows2000http://www.microsoft.com/taiwan/windows2000
http://www.microsoft.com/taiwan/securityhttp://www.microsoft.com/taiwan/security