CL16 Performance Analysis utilizing Windows Performance Toolkit Michael Milirud Program Manager Microsoft Corporation
Slide 2Session Objectives And Takeaways Performance is basic Live generation framework examination WPT Kit, Performance Analyzer apparatus suite, and xperf devices How to Collect an execution follow Do essential investigation of an execution follow
Slide 3Agenda Motivation Overview of Windows Performance Toolkit Key Concepts Case Studies Conclusion
Slide 4Why mind? Inspiration Overview of Windows Performance Toolkit Key Concepts Case Studies Conclusion
Slide 5Ensuring great execution Responsiveness Unresponsive framework Customer disappointment Resource use CPU, plate, memory, organize, battery Resources are restricted and shared, utilize them viably Good citizenship It takes one part to effect system performance
Slide 6Resource Usage Concepts Resource use perspective Machine requirements = reality Applications/administrations/drivers/OS go after: Processor time Physical memory space Virtual address space Disk benefit time Disk space Network transmission capacity Battery control … Machine imperatives = asset use limits
Slide 7Performance Analyzer Preview demo High level review What is going ahead in the background?
Slide 8Performance Analyzer apparatus suite xperf: Trace catch, preparing, and command-line investigation xperfview: Visual follow examination Xbootmgr (and xbootmgrSleep): On/Off move follow catch hwpower2etw: TDMS-to-ETL converter symcachegen: PDB-to-SymCache generator
Slide 9Basic operations Trace catch Graphs Frame List Legend Selection Overlaying Summary tables Gold bar Column Chooser Sorting
Slide 10I Get It, But Where Do I Get It? Inspiration Overview of Windows Performance Toolkit Key Concepts Case Studies Conclusion
Slide 11Windows Performance Toolkit Official pack Built and utilized by the Windows association Wide bolster extend Cross stage {Vista+} x {client, server} Cross engineering Publicly accessible Contains Performance Analyzer (WPA) device suite WPA incorporates XPerf Also incorporates GPUView and WpfPerf instruments Strategic speculation
Slide 12Where is WPT Kit connected today? Bread and spread of Windows Engineering bunch Windows 7 p erformance work far reaching OEM execution exertion
Slide 13What is Performance Analyzer? Devices for Capture Post-preparing A nalysis Very develop 10+ years being developed 4 th era Product quality code Enterprise review level Core code reused inbox Dev/Test/PM/UA – the entire arrangement Documentation on MSDN
Slide 14Why Use Performance Analyzer? Comprehensive execution examination All procedures/strings User + part mode DPCs and ISRs Scheduling Disk and record I/O Memory Network Analyze what client encounters Catch the issue as it happens Capture-Anywhere-Decode-Anywhere Very low overhead versus choices far reaching worldly "debugger"
Slide 15Issues Performance Analyzer Can Help Root-source Responsiveness issues Long postponements in applications High CPU use High Disk utilization Slow On/Off moves Poor battery life And a great deal more!
Slide 16The Big Picture XML record XPerfView 6. CLI follow examination by means of activities 5. GUI follow investigation by means of charts and outline tables Merged ETL record 3. Controls logging sessions and empowers/incapacitates suppliers Action System and Symbol Information XPerf Control/Status Control/Status Post Processing 4. Metadata infusion Control/Status ETW ETL document ETW Session Event Providers 1. Accumulation of configurable in-memory supports that is overseen by the piece Event Providers 2. Any part that has been instrumented with Event Tracing API Control/Status Data stream
Slide 17How Does Performance Analyzer Pull This Off? ETW is the enchantment behind the draperies Event Tracing for Windows Core segment since Windows 2000 High execution, low overhead, exceptionally adaptable ~2.5% CPU utilization for managed rate of 10,000 occasions/sec on a 2GHz CPU For points of interest, see "Occasion Tracing" on MSDN
Slide 18You Got My Attention – What's Next? Inspiration Overview of Windows Performance Toolkit Key Concepts Case Studies Conclusion
Slide 19Capture a Performance Trace An execution follow is a continued type of a (mind boggling) execution estimation … Perform the situation being referred to… > xperf –start perf!GeneralProfiles.InSequentialFile > xperf –stop perf!GeneralProfiles.InSequentialFile trace.etl
Slide 20What is CPU Time Spent On ? xperf trace.etl
Slide 21CPU Summary Table Grouping segments Aggregated sections
Slide 22CPU Summary Table
Slide 23Now Show Me Some Action Motivation Overview of Windows Performance Toolkit Key Concepts Case Studies Conclusion
Slide 24Disk Usage Case Study #1 Marking 875 messages in Outlook 2007 envelope as read is appallingly moderate
Slide 25Marking 875 messages in Outlook 2007 organizer as read is horrendously moderate
Slide 26Marking 875 messages in Outlook 2007 organizer as read is frightfully moderate Throughput can be cut by 90%
Slide 27Disk Usage Study Summary Multiple parts functioning admirably in confinement could affect execution when executed in parallel Fighting over plate drastically impacts execution for all included Disk looks for can cut throughput by 90% Schedule all work that can hold up as Idle assignments See Task Scheduler documentation on MSDN Microsoft Confidential
Slide 28Everything is moderate Case Study #2 User grumbled that framework was moderate over numerous situations including boot
Slide 29User griped that framework was moderate over different situations including boot
Slide 30User whined that framework was moderate over various situations including boot
Slide 31Case Study: Slow Disk Symptom: Very moderate framework over various situations, including boot Key Findings: Very high circle use all through the follow Disk was setting aside a long opportunity to administration I/Os
Slide 32CPU Usage Case Study #3 User perused E:\ (SD) drive from Explorer and opened a photograph from the drive. Sound playback glitched .
Slide 33User perused E:\ (SD) drive from Explorer and opened a photograph from the drive. Sound playback glitched.
Slide 34CPU Case Study Summary One terrible segment can upset various great parts High utilization of any single asset can bring about execution issues Spending excessively CPU at DPC impacts execution Use DMA rather than PIO while exchanging information
Slide 35What Have We Learned? Inspiration Key Concepts Overview of Windows Performance Toolkit Case Studies Conclusion
Slide 36Best Practices Resource proficiency Responsiveness Good Citizenship
Slide 37Summary Good execution customer satisfaction WPT = official perf devices from/for Windows Performance Analyzer xperf : Trace catch, preparing, and command-line examination xperfview : Visual follow investigation xbootmgr : On/Off move follow catch
Slide 38Call to Action Download WPT Kit (see assets) Capture follows crosswise over key situations Evaluate asset usage Identify asset bottleneck Invest in ETW instrumentation Visit Windows Performance Analysis Dev Center Use people in general discussion
Slide 39Resources Windows Performance Analysis Dev Center: http://msdn.microsoft.com/en-us/execution Event Tracing for Windows MSDN docs: http://msdn2.microsoft.com/en-us/library/aa363787.aspx Windows Internals 5 th version is currently out!
Slide 40YOUR FEEDBACK IS IMPORTANT TO US! It would be ideal if you round out session assessment frames online at MicrosoftPDC.com
Slide 41Learn More On Channel 9 Expand your PDC encounter through Channel 9 Explore recordings, hands-on labs, test code and demos through the new Channel 9 instructional classes channel9.msdn.com/learn Built by Developers for Developers… .
Slide 43Addendum
Slide 44Key new components since PDC'08 WPT 4.5 (Win7 RC) Generic Events bolster Hierarchical legends Configuration of image/symcache vault from the GUI Stack following backing for show based occasions Hardware control examination Idle CPU investigation
Slide 45Key new elements since PDC'08 WPT 4.6 (Win7 RTM) Column reordering in synopsis tables by means of the segment chooser Assisted resizing of diagrams Auto-snapping determination under tight restraints point and check charts System Configuration discourse box tabs are currently completely included rundown tables Flush representation in the itemized plate I/O chart Single pass various activity execution Auto-scaling of Y-pivot in charts in light of exhibited information arrangement Per-supplier sifting in dumper ReadyBoot examination
SPONSORS
SPONSORS
SPONSORS