370 likes | 525 Views
Windows Vista 的效能改善. 謝合宜 微軟特約技術顧問 MCSE : Security/Messaging MVP/MCT BS7799/ISO27001 Lead Auditor. 預備知識. Windows 作業系統的使用與管理經驗. Level 200. 講題大綱. 現在的效能限制 最佳化記憶體使用 SuperFetch ™ 避免磁碟瓶頸 ReadyBoost ™ ReadyDrive ™ 效能支援架構 Low-priority I/O 效能診斷工具. 為何效能會出現瓶頸 ?. 不佳的記憶體內容 效能總是耗損 應用程式暫存不佳
E N D
Windows Vista的效能改善 謝合宜 微軟特約技術顧問 MCSE : Security/Messaging MVP/MCT BS7799/ISO27001 Lead Auditor
預備知識 • Windows作業系統的使用與管理經驗 Level 200
講題大綱 • 現在的效能限制 • 最佳化記憶體使用 • SuperFetch™ • 避免磁碟瓶頸 • ReadyBoost™ • ReadyDrive™ • 效能支援架構 • Low-priority I/O • 效能診斷工具
為何效能會出現瓶頸? • 不佳的記憶體內容 • 效能總是耗損 • 應用程式暫存不佳 • 背景程式佔掉記憶體 • 狀態轉換的影響 • 開機或休眠之後 • 使用者切換之後 • 啟動程式或大的軟體 • 零散存取的磁碟操作 • Page faults • Program loads • Disk spin up time • Disk seeks
磁碟搜尋問題 • 磁碟製造廠持續改善技術 • ATA/33 ATA/66 ATA/100 SATA SATA II • 4200RPM 5400RPM 7200RPM 10000RPM • 2 MB 8 MB 16 MB • 搜尋時間改善了,不過還有空間 • 3.5”平均搜尋時間 ~10 mSec • 2.5”筆記型磁碟 ~12.5 mSec • Result: Random IO rate limited to an effective 1MB/sec • At that rate, populating 1GB of RAM takes ~1024sec!
檔案搜尋問題 • 一般檔案與結構化檔案 • 單一 DLL 大概至少佔掉 5~6 磁碟Sector • 單一程式會使用超過 100 DLLs(IE, Adobe Reader, or Microsoft Outlook) • 可靠與持續性的使用 • Logging, Transactions, Application Temp Files
Windows Vista如何處理? • 提供新的記憶體管理架構 • 盡量避免存取磁碟 • 使用Prioritizes I/O • 提供新的診斷工具
動態的系統虛擬位址空間 • 在過去,系統虛擬位址空間區分成固定的區域 • 未分頁集區、已分頁集區、系統分頁表 • 在 32 位元Vista 中,系統記憶體空間可視需要指派 • 允許更大的未分頁、已分頁、Session 集區 • 支援更大的終端機伺服器、更大的堆積記憶體 • 在 32 位元系統上,仍然不能使用超過 2GB 的空間 • 系統虛擬記憶體空間的改進: • 核心分頁表是動態配置,而不再是開機時配置 • 減少核心堆疊的使用,以允許在終端機伺服器上有更多的使用者 • 堆積區可以動態擴展大小,而不需要重新開機 • 在 64 位元的 Windows Vista 中,各區域的記憶體位址空間都設定到最大
記憶體效能與擴展性 • 磁碟使用更有效率 • 讀取資數減少、讀取量增大 (分頁錯誤、系統快取預讀功能) • 不再有 64 KB 的限制,可以做大區塊的 I/O 存取 • 分頁檔可以使用更大的叢集大小 • I/O 次數減少 • 減少碎裂的狀況 • 減少因為分頁損毀所造成的資料遺失 • 支援顯示卡記憶體分頁功能 • 支援 Superfetch™ 功能
目前的記憶體管理 記憶體 Photo Editor Internet Explorer Internet Explorer 記憶體快取 Outlook 可用記憶體 硬碟 Microsoft Word Startup Apps OS
SuperFetch™ • Windows XP 只會針對單一的行程,在該行程啟動時,進行預載的動作 • Windows Vista 的 SuperFetch 則是事先預載多個應用程式進入記憶體 • 統計分頁的使用頻率 • 跟據使用者的應用程式使用習慣 • 預載時使用低優先權的 I/O
SuperFetch™ 記憶體 Photo Editor Photo Editor Internet Explorer Outlook 記憶體快取 硬碟 Microsoft Word Startup Apps OS
ReadyBoost • 儲存唯讀分頁資料到外接的記憶體儲存裝置 • 做為 SuperFetch 的快取區 • 支援 USB 隨身碟、SD 記憶卡、CF 記憶卡、內接的 PCI 高速記憶卡 • 從快取載入分頁記憶體 (比從硬碟快 10 倍以上) • 資料有進行加密(AES 128bits) • Write-through cache,允許使用者移除裝置
ReadyBoost (cont…) • 裝置必須符合以下最低的效能需求: • 傳輸速度: • 隨機 4KB 讀取至少 2.5 MB/sec 以上 • 隨機 512KB 寫入至少 1.75 MB/sec 以上 • 儲存空間: • 256MB - 4GB (FAT32) • 最多支援到 32GB (NTFS) • 每一個系統上只能有一個 ReadyBoost 裝置
NV Cache OS ReadyDrive Hybrid Hard Drives • 混合式磁碟(Hybrid Hard Drive,HHD) 內建非揮發式記憶體快取 (NV Cache) • 就算硬碟不運轉,都可以存取這塊記憶體快取區 • 失去電源時資料依舊可以保留下來 • 快取大小 50 MB - 2 TB (一般是 256 MB) • 快取中包含: • Superfetch 的資料、開機檔、休眠檔案 (部份) • OEM 廠商可預載資料進去 • 使用電池時,可以當寫入快取
直接由硬碟存取 .data pages .text pages PE Header Dram Cache MFT Entry Directory Entry
由 NV Cache 存取 .data pages .text pages PE Header Dram Cache NV Cache Directory Entry MFT Entry
ReadyDrive的好處 • 效能 • 更快的開機速度 • 更快速的休眠與回復動作 • 減少磁碟的搜尋並增加 IO 速度 • 省電/增加電池續航力 • 增加可靠性
ReadyDrive的管理設定 • 新的 ATA 指令來管理 NV Cache • Identify hybrid hard disk functionality • Add/Remove LBAs from NV Cache “pinned set” • Query NV Cache pinned set • Enter/Leave power saving mode • 透過Group Policy來集中設定
Boot Data Read Cache Write Cache OEM Pinning ReadyBoost & ReadyDrive System Memory RAM ReadyBoost Read Cache NVRAM ReadyDrive HDD Platter Magnetic
ReadyBoost & ReadyDrive • ReadyBoost 和 ReadyDrive是互補的技術 • 都利用 SuperFetch • ReadyDrive • 協助狀態的轉換 • 儲存、加速某些資料使用 • 增加可靠性 • 節省電力 • ReadyBoost • 大量的 read cache • 減輕實體記憶體的負擔
I/O 優先權 • 背景的 I/O (例如:病毒掃瞄、磁碟重組、…) 會造成前景的應用程式反應變慢 • 在過去,只能在執行序的 CPU 優先權上做調整 • Windows Vista 提供兩類的 I/O 優先權設定 • I/O 優先權 • I/O 頻寬保留 • I/O 優先權的功能在 ATAPI 和 USB 儲存裝置驅動程式中實作
I/O優先權 • I/O 優先權是基於發出 I/O 要求的執行序本身的優先權,也可以明確指定 I/O 的優先權 • 五個等級: Critical, High, Normal, Low, Very Low • High 和 Low 這兩個等級沒有實作 • Critical 只被用於記憶體管理員 • 儲存在 I/O Request Packet (IRP) 的欄位中 • 行程或執行序可以透過呼叫 SetPriorityClass 和 SetThreadPriority 來降低 I/O 優先權 • “Background mode” • Windows Vista 背景工作會使用到,例如索引、Windows Defender 掃瞄 • 驅動程式可以使用 • IoGetIoPriorityHint, IoSetIoPriorityHint
I/O頻寬保留 • 多媒體串流應用程式 (例如: Windows Media Player - WMP) 可以要求 I/O 頻寬的保證 • 以檔案為單位來指定 • GetFileBandwidthReservation • SetFileBandwidthReservation • I/O 系統回報給應用程式 • 最佳的傳輸大小 • 尚未完成的 I/O 數目 未保留的 I/O WMP WMP WMP WMP 保留的 I/O
現有工具的限制 • 詳細度與協助解決不足 • 被動性 • 紀錄檔是好的使用方式,可是欠缺分析工具、不夠友善
效能調整與診斷 • 降低效能問題診斷的負擔 • 更方便診斷並協助解決 • 透過Circular Kernel Context Logger (CKCL)來收集資料 • 提供系統最近的活動紀錄 • 自動分析 • 分析結果放置於系統事件記錄 Performance Diagnostics Architecture Performance Analyzer CKCL - ETW Kernel Events Windows Diagnostic Infrastructure System Event Log
效能診斷工具Resource Monitor Event Viewer Reliability and Performance
講題總結 • 改進的記憶體管理與使用 • SuperFetch • ReadyBoot • ReadyDrive • 新的效能管理診斷工具協助更佳的處理
For More Information… • TechNet • www.microsoft.com/taiwan/technet • Windows Vista • www.microsoft.com/taiwan/windowsvista • Windows Vista: Resources for IT Professional • www.microsoft.com/technet/windowsvista/default.mspx • MVP Community社群網站 • www.microsoft.com/taiwan/community
緊接的 Vista 講題 • 十月份 10/13 使用Windows Vista來建置穩固可靠的工作環境 10/17 Windows Vista的系統安全建置指南 10/24 Windows Vista網路架構、防火牆與IPSec功能改進