260 likes | 437 Views
ИЗ ПЕРВЫХ РУК: КАК СДЕЛАТЬ ВАШ КОД БЫСТРЫМ ПРОФАЙЛИНГ КЛИЕНТСКИХ И СЕРВЕРНЫХ ПРИЛОЖЕНИЙ В VISUAL STUDIO 2012. MAXIM GOLDIN Senior Developer, Microsoft. Agenda. ASP.NET Profiling in Production Profiler installation Command line tools Profiling of Client Applications Remote Profiling
E N D
ИЗ ПЕРВЫХ РУК: КАК СДЕЛАТЬ ВАШ КОД БЫСТРЫМПРОФАЙЛИНГ КЛИЕНТСКИХ И СЕРВЕРНЫХ ПРИЛОЖЕНИЙ В VISUAL STUDIO 2012 MAXIM GOLDIN Senior Developer, Microsoft
Agenda • ASP.NET Profiling in Production • Profiler installation • Command line tools • Profiling of Client Applications • Remote Profiling • HTML UI Responsiveness • Visual Studio JavaScript Instrumentation Profiler • Performance Analyzer for HTML5 Apps • JavaScript Memory Profiler
Challenges in Production • Can’t reproduce the issue in a development environment • Can’t run Visual Studio on the production machine • Possibly very limited developer access to production machines • Want to minimize impact to the server • Performance • Availability • Security
ASP.NET Profiling in production • Remote Tools • http://www.microsoft.com/en-us/download/details.aspx?id=38184 • Standalone Profiler • Installation media: vs_profiler.exe • Installed VS:
ASP.NET Profiling in production • Install Profiler • Remote Tools or Standalone Profiler • Use command line tools to collect data • vsinstr.exe, VSPerfASPNetCmd.exe • Bring results back and analyze in VS
Agenda • ASP.NET Profiling in Production • Profiler installation • Command line tools • Profiling of Client Applications • Remote Profiling • HTML UI Responsiveness • Visual Studio JavaScript Instrumentation Profiler • Performance Analyzer for HTML5 Apps • JavaScript Memory Profiler
Remote Profiling • Support for Windows Store Applications • Auto-deployment of the app • Requires elevation approval
HTML UI Responsiveness tool • Shows work being done by subsystems of Internet Explorer related to UI • Helps to identify app startup performance and low frames per second caused by • Content loading • Layouts/CSS calculation • Script execution/garbage collection • Network latency • Overdrawing • Being added in VS 2012 Update #2
Visual Studio JavaScript Profiler • Instrumentation-based profiling • Records how long every method takes to execute • Records exact counts of method calls • Only shows JavaScript execution time • Does not show work done by other systems (e.g., rendering or layout)
Profiler Terminology • Inclusive time: The total amount of time from when the function was entered until the function exited • Includes the total time spent in all child functions • Exclusive time: The amount of time spent executing code in just the function body • Does NOT include time spent in child function
Inclusive and Exclusive time function Alpha() { Beta(); } function Beta() { } 30 ms 50 ms
Performance Analyzer for HTML5 Apps • Walks you through testing your application • Generates a report measuring 13 tenets of performance • Installs with the Windows 8 SDK
JavaScript Memory Profiler • Identify unintentionally retained memoryand inefficient use of memory • Snapshot-based tool • Shows JavaScript and DOM elements • Size • Counts • Reference graph
Memory terminology • Size: How large the object is in memory • Retained Size: The amount of memory that the object is preventing the garbage collector from reclaiming • Includes the size of the object • Includes the size of all referenced objects (and any objects they reference) that the current object is the only parent of in the memory graph
Size and retaines size Object C (50 KB) Object A (100 KB) Object A (100 KB) Object D (100 KB) Object B (500 KB) Object B (500 KB) 600 KB 600 KB 100 KB 500 KB 500 KB 50 KB 50 KB 100 KB 100 KB
Agenda • ASP.NET Profiling in Production • Profiler installation • Command line tools • Profiling of Client Applications • Remote Profiling • HTML UI Responsiveness • Visual Studio JavaScript Instrumentation Profiler • Performance Analyzer for HTML5 Apps • JavaScript Memory Profiler
More Info, Request Features Maxim Goldin : mgoldin@microsoft.com ALM Team Blog: http://blogs.msdn.com/b/visualstudioalm Uservoice site: http://visualstudio.uservoice.com