Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Ken Lin, Kam HungCommittee of UNSW Alumni HKFounder and VP of Hong Kong .NET User Group MCDST, MCSA, MCSE+I, MCDBA, MCSD, MCAD, MCITPMicrosoft Community Star (Hong Kong & Taiwan)Microsoft Most Valuable Professional , MCTVB Insider, Data Access Insider, SourceCode K2 InsiderWCL319
Pre-release Data
Windows 7 data is indicative only. The data presented here is derived from pre-release product and subject to change.
Existing data will also vary due to many characteristics including system configuration, OEM images that have been upgraded, 3rd party/custom applications and hardware/drivers.
Performance Engineering Themes for Windows 7
Focus on key user scenarios
Favor system responsiveness rather than benchmarks
Build a leaner OS and use resources more effectively
Leverage real-world telemetry to improve performance before we ship
On/Off Transitions
System Boot (Clean OS)Efficiency improvements in boot paths
Only starting certain services when they are needed (Demand start)
Allowing multiple device drivers to start at the same time (Parallelization)
An overall reduction in the memory and CPU required to start and run the graphics system.
Industry driver improvements esp. Graphics
Folder Redirection used to block logon, now asynchronous
Vista SP1
Windows 7
NOTE: Results are indicative. Will varywith different systems and differing hardware configurations
Lower is better
Tim
e
NOTE: Systems must be booted at least 5 times to get accurateboot pre-fetcher behavior and correct boot times
System Boot (impact of 3rd party software)
Comparing the released image with Vista SP1 to that same image upgraded to Windows 7
Still see improvements but can be dramatically different to clean install
Working closely with the PC ecosystem
Vista SP1 OEM
Windows 7 Upgrade
NOTE: Results are indicative. Will varywith different systems and third party software
Lower is better
Tim
e
Hibernate / Sleep Changes in Windows 7
Improving the order in which the information is saved or restored to disk (asynchronous vs. synchronous writes, write size)
Write less to disk during hibernate
Maximizing the performance power state of the processor during Hibernate and Resume from Hibernate
Reduction of system timers during resumeCan dramatically affect system responsiveness post-resume
Can be dramatically affected by driversWorking with our hardware partners to improve driver efficiency for these scenarios
ShutdownReduction of service shutdown timeout
20s -> 12s
(client SKUs only)
More aggressive user application shutdown
Look for services taking long time to shutdown
in the Event log
Event LogApplications and Services Logs/Microsoft/Windows/Diagnostics-Performance
Responsiveness
SuperFetch in Windows 7Quieter & further optimized
Better self tuning through analysis of real user traces
Significant decrease in pre-fetching when the user is active
Turns off when the computer has a good SSD (Solid State Drive)
Windows Experience Index Disk score of 6.5+
No pre-fetching, not tracking usage and priority (no long term history)
Reduced pre-fetching overall , especially for
Large sequentially accessed files
Write-only files (like log files)
Low memory machines
Guidance: Don’t disable SuperFetch: let it scale back
NOTE: Disabling SuperFetch turns off ReadyBoost and will also affect boot times
SuperFetch + Process Monitor
Microsoft Confidential
Internet Explorer 8Changes in the IE startup path to get requests on the wire earlier while IE initializes tab and plug-ins.
Loosely-Coupled IE (LCIE ) replaces synchronous Windows messaging with asynchronous mechanisms
Greater Responsiveness
Improved HTML pre-parserPage content downloads are no longer blocked by JScript and CSS downloads
Many CPU saving improvements:JScript, DOM/CSS, Registry, Anti-phishing & layout
Per-host connection limit increased from 2 to 6 connections.
Will only impact performance on some sites dependent on number of files per host
Consideration: IE performance impacted by third party toolbars and plug-ins. Should evaluate with and without these components
IE7 IE8
Example download: Effect of some IE8 performance optimizations. NOTE: Dependent on content structure
Wireless Reconnect ImprovementsWLAN Stack
Fine tuned connection engine, stricter timers during resume
DHCPCaches multiple valid leases for previously connected networks and associate them with Wi-Fi Networks. Use cached leases instead of getting new
DHCP used to wait for duplicate address detection in Vista, not in Windows 7 (can save up to 3 sec)
Smart Web Proxy Auto Detection (SWPAD) for WinHTTP clients (includes Outlook)
Added caching for Web-Proxy information on per network basis.
RPC/Https avoids this potential 15second delay by using cached information on networks visited before.
Significant reconnect improvements when combined with Outlook 2007 SP2
Network connections UI in Windows 7
Questions!
Q: In Windows Vista, how many ReadyBoost cache supported?
A: 1 per machine
Questions!
Q: In Windows Vista, what is the max size per ReadyBoost cache?
A: 4 Gb
ReadyBoostFor workloads that don’t fit in available DRAM acts as a supplemental memory cache
Choosing a ReadyBoost device: Size before speed
ReadyBoost cache should be approx 4X DRAM size (was 2X in Vista)
Windows 7 changes:More ReadyBoost caches
Vista supported only 1 per machine, Windows 7 supports 8 per machine
Larger ReadyBoost caches
Vista supported max 4gb per cache, W7 supports 32GB per cache
OEMs/System Builders can configure internal ReadyBoost devices to maximize performance (remove compression, encryption)
Can be significant on PCs with low-end processors and small amounts of RAM
Questions!
Q: In Windows 7, a machine with a GOOD SSD installed, could I be able to turn on the ReadyBoost?
A: No, you could not.
Disk Performance VariationDisk behavior can have a MAJOR impact on system responsiveness
Important to be aware of disk capabilities –WINEI disk score
Concerning drive issues surfaced in WINEI “View and Printdetailed performance and system information” UI
Disk Time in IO range by drive (developer)
Disk Time in IO range by drive (knowledge worker)
Disk Time in IO range by drive (unclassified user type)
SSDs
GoodBad
Resources / Memory
0
200
400
600
800
1000
1200
1400
System 1 System 2 System 3 System 4 System 5 System 6 System 7 System 8
Vista SP1
Windows 7
General Memory SavingsDeep review of memory usage of Windows components/subsystems at runtime
Over 500 memory reductions / enhancements (savings) changes across windows kernel and key runtime components
Device support
File system
Storage
Kernel
Networking
Security Components
XML
WMI
Remote File system
Terminal Server
Shell
Desktop / Graphics
Media
IE NOTE: System memory use is significantly affected by graphics and other third partycomponent memory utilization. Results will vary from system to system
Lower is better
0
50
100
150
200
250
300
350
400
450
500
Memory Reference Set
Memory Reference Set: Measures physical memory pages required to support the OS independent of installed RAM, memory manager, or system caching policies
Measured through memory manager instrumentation & used for regression analysis
Task Manager (In Use)
Memory Reference Set
NOTE: System memory use is significantly affected by graphics and other third partycomponent memory utilization. Results will vary from system to system
Lower is better
Memory SavingsGDI Application Windows WDDM v1.1More open windows, more savings
Memory Saving: One system memory surface per window
Savings in addition to other memory savings
0
50
100
150
200
250
300
350
1 2 5 7 10 15 20 25 30 35 40 45 50
WDDM v1.1
WDDM v1.0
Number of Windows
Windows Vista Model(System memory consumed by 1 window) = (Horizontal screen resolution) X (Vertical Screen Resolution ) X 4 bytes
MB
Lower is better
Windows Vista architecture of GDI concurrency
Windows 7 architecture of GDI concurrency
Improving Heap Growth Over Time
-
10
20
30
40
50
60
70
80
90
Lower is better
Time Example: Long running growth of memory heaps for one process over time
Vista
Windows 7
Trigger Start of ServicesService Trigger Events
Triggers include
Device arrival/removal, IP address change, domain join, etc.
Examples
Bluetooth service is started only if a Bluetooth radio is currently attached
BitLocker encryption service started only when new volumes detected
Results38 services trigger / demand started in Windows 7
Benefits: Faster Boot, Shutdown, Resume, Memory
Savings: 10’s of thousands of file operations
>50MB of memory allocations
>30,000 registry operations
Hundreds of threads saved
Windows 7 Energy Efficiency Investments
Core improvements with strong focus on Idle efficiencyBackground Activity
Device Power Management
Power Policy Enhancements
Display dimming after inactivity
Powercfg /energy (to help OEMs/system builders deal with power issues on their systems)
Workload ScalingDVD Optimizations
Processor Power Management
Power Management
Microsoft Confidential
Windows 7 DVD Power Consumption
System A System B System C
Bat
tery
Lif
e (
min
ute
s)
Battery Rundown Test
Windows Vista SP1 Windows 7
Higher is better
Real World Usage Data / Telemetry
TelemetryPre-releases report back telemetry on key user interactions
Guided our optimization decisions /effort
Validates our lab performance with real-world data
Leverage Telemetry investments
Identifies third party components that affect Windows performance
Ongoing engagement with industry
Build 7000: Start Menu Distribution
Build 7033: Start Menu Distribution
Windows Performance ToolkitA key resource for deep Windows performance analysis
Wide support for range of OSsVista, Server 2008, Windows 7, Server 2008 R2
Cross architecture: x86, x64, and Itanium
http://msdn.microsoft.com/en-us/performance/default.aspx
Contains tool suiteAlso includes GPUView
Expect to see more tools in Windows 7 RTM SDK
to enable performance analysis on Windows
Performance Analyzer,Resource and Performance Monitor
Microsoft Confidential
ReferencesWindows Performance Toolkit
http://msdn.microsoft.com/en-us/library/cc305187.aspx
Engineering Windows 7 Blog:http://blogs.msdn.com/e7/
Windows PC Acceleratorshttp://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/perfaccel.doc
Mobile Battery Life Solutions Guide
http://www.microsoft.com/whdc/system/pnppwr/mobile_bat.mspx
http://msdn.microsoft.com/en-us/performance/default.aspx
Upcoming WhitepapersWindows 7 On/Off Solutions Guide
Windows 7 On/Off Analysis Guide
Windows 7 Performance Testing Guide
Windows 7 Memory Considerations
www.microsoft.com/teched
Sessions On-Demand & Community
http://microsoft.com/technet
Resources for IT Professionals
http://microsoft.com/msdn
Resources for Developers
www.microsoft.com/learningMicrosoft Certification and Training Resources
www.microsoft.com/learning
Microsoft Certification & Training Resources
Resources
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.