350 likes | 829 Views
HW-59T. Improving performance with the Windows Performance Toolkit. Michael Milirud Program Manager Microsoft Corporation. Agenda. Motivations for performance analysis Key Concepts Windows Performance Recorder Windows Performance Analyzer WPA integration with the ADK
E N D
HW-59T Improving performance with the Windows Performance Toolkit Michael Milirud Program Manager Microsoft Corporation
Agenda Motivations for performance analysis Key Concepts Windows Performance Recorder Windows Performance Analyzer WPA integration with the ADK You’ll leave knowing how to: • Approach performance • Collect and analyze traces • Perform basic live system analysis
Performance is a Layered Challenge Extensions, Driver, Services, Applications Efficient platforms require efficient and reliable extensions Windows engineering processes focus on performance throughout the development cycle Operating System Core Hardware, Processor, Chipset, and Devices Fundamental quality starts with a great hardware platform
Performance Improvement is a Cycle • Performance analysis is an iterative process • The people fixing an issueprobably aren’t the people experiencing an issue • The ability to easilywork together is key
Elements of Performance • Responsiveness • Unresponsive systems quickly generate customer dissatisfaction • Machine constraints = reality • Resource utilization • Physical: CPU, GPU, disk, memory, network, battery • Logical: critical sections, critical resources • Resources can be critical if they are scarce, shared, and/or have queuing semantics
Origins of Windows Performance Toolkit • The Windows PerformanceToolkit was introduced at PDC 2009 • The tools have proven tobe very valuable • The design focus to-date has been on power users http://www.microsoftpdc.com/2009/CL16
Benefits of WPT • Enables follow up on issues raised via ADK performance assessments • Enables holistic performance analysis • All processes/threads • All key system resources • User + kernel mode • Provides a way to analyze what customer actually experiences • Catch the problem as it happens • Capture-Anywhere-Decode-Anywhere • Very low overhead versus alternatives • Region of interest profiling • You get both what and when
Windows Performance Recorder and Analyzer • Tools for: • Trace Capture (WPR) • Trace Analysis (WPA) • Based on ETW (Event Tracing for Windows) • Used within Microsoft to build Windows • Core code reused in-box • Documentation on MSDN • Part of ADK and SDK in Windows 8
Stages of Performance Analysis Perception Measurement Analysis System slows down App launch takes longer Browser refresh is slower Disk light is always on Poor battery life CPU profiling Context switches Changes in priority Disk I/Os Memory allocations Lock acquisition C and P state lifetimes CPU utilization CPU starvation Priority inversions Ineffective access patterns Disk saturation Memory leaks Redundant memory Lock contention Energy Efficiency Iterate
demo Windows Performance Recorder
Demo Concept Review • Starting recording • Monitoring recording status • Saving recording • Including issue description
Benefits of WPA in Windows 8 • Broaden the target audience to mainstream developers • Leverage familiar UI experiences • Enable quick ramp up • Reduce ‘noise’ to focus on the ‘right’ issues
WPA in Windows 8 Detailed Graph Graph Explorer Aggregating Columns Legend Graph Grouping Columns Graphing Columns Table Gold Bar Blue Bar
demo Windows Performance Analyzer
Demo Concept Review • Single window lifetime management • Visual Studio view management • Graph Explorer • Analysis Views • Single shared timeline • Detailed graphs • Diagnostic View • Profiles/sessions • Presets • Layouts • Graph types • Gold/Blue bars • Synchronization of selection
First Class Integration with the ADK • ADK = Assessment & Deployment Kit • Assessments produce traces • Productive experience of troubleshooting identified issues
demo WPA Integration with ADK Following up on ADK assessment issues Here’s where the issue is!
Demo Concept Review • ADK integration • Issues View • Assessment Activity graph • Assisted Diagnostics • Details View
Things to look out for • Don’t assume you know what’s wrong • Don’t enable too much instrumentation • Don’t trace for longer than you need • Remember to enable stack walking on x64
Summary • Performance is critical for your customer • You have to • Plan for it before you code/build • Measure it as you code/build • WPA is integrated with ADK • WPR is a new tool in Windows 8
Related sessions • HW-147T building high quality Windows PCs using the assessment and deployment kit • HW-915P Introduction to assessments • HW-141T Reducing the memory footprint of drivers and apps • HW-922P Capturing and analyzing performance traces • HW-925P Customizing WPA trace views • HW-926P Introduction to the new WPA UI
Further reading and documentation • Dev Center: • Windows Performance Analysis • MSDN documentation: • WPA • WPR • Event Tracing for Windows • Books: • Windows Internals by Mark Russinovich, David Solomon, and Alex Ionescu • Contact info: • WPT Forum
thank you Feedback and questions http://forums.dev.windows.com Session feedbackhttp://bldw.in/SessionFeedback
© 2011 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.