Sunday, March 20, 2016

Performance Diagnostics Starting Points


(1) vm map, CLR profiler, Process Explorer
    --- Managed vs Native Heap, Image loaded
    --- related to WPA for stack,private, page,mapped
    --- vmmap is static shot, profiler is compare of multi
    --- procexp tell what DLL get loaded, really needed?

(2) VSP CPU sampling and instrumentation Profiler
  --- chase donw hotpath to high % function calls.
  --- .net Memory analysis, profile=muti dump over time
  --- low cpu=>blocking, high cpu=>element count>>1

(3) Concurrency Visualizer
  --- Main Thread UI Proccing %
  --- check % for execution, synchronization, Memory mgt
 
(4) DotTrace
    ---Thread tree chase specific calls
    --- Hot spot may tell where to look.
    --- if you know where to look, then drill into code.

(5) WPF Performance Suite Win7 and patch for Win10
   --- Perforator, FR, DRAR, LiveView, Large Element Count
   ---- Render %, low FR+Hight HW IRT (buf-compose)=>problem
   --- Win7 SDK or download with patch for Win10
https://www.microsoft.com/en-us/download/confirmation.aspx?id=21042
http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKPerformanceToolKit_amd64/wpt_x64.msi

(6) WPA Win7,8,10, gpedit.msc sid in secSettings\UsrRights\Profile Perf
   --- Win8+ ADK
   --- Thread events (CtxSW, 3 states Ready, Running Waiting), Thread Starvation
   --- Thread Stack Column, Chase down UI Delay->CPU precise, blocking func calls
   --- Resident Set Analysis, MMList(active/modified), 
   ---- Heap/VirtualAlloc usage, Commit Stack (load symbol)
   --- Heap trace need to set single process trace: reg add HKLM/Software/Microsoft/
        Windows NT/CurrentVersion/Image File Execution Options/myapp.exe    
        /v TracingFlags /t REG_DWORD /d 1 /f
         reg delete HKLM/......  /v TracingFlags /f

(7) command line tool wpr, xperf
   --- where wpr, wpr -provider ,-profiles -help -start CPU.verbose.memory
   --- where xperf ... could be already on user PC.
     



No comments:

Post a Comment