Profiling .NET Server Applications

Profiling .NET Server Applications

Profiling .NET Server Applications Talk on Umbraco
UK Festival 2015, London, UK

3a53a5136f530c121a196914aecf3936?s=128

Tugberk Ugurlu

October 30, 2015
Tweet

Transcript

  1. Profiling .NET Server Applications Tugberk Ugurlu Redgate Software @tourismgeek http://tugberkugurlu.com

  2. tugberkugurlu.com

  3. @tourismgeek

  4. None
  5. None
  6. @redgate @RedGateCareers red-gate.com/careers

  7. Agenda • Nature of Server Applications • Profiling Application Logs

    and Server • Profiling Performance Problems • Profiling Memory Problems • Load Testing
  8. Server Applications • Applications Runs under IIS • Windows Services

    • Self-hosted Web Applications • Worker processes
  9. Characteristics of Server Applications • Stateless • Multiple Instances •

    Concurrent • Spreaded and Connected • Multiple Versions at the Same Time
  10. v1api.example.com v1api.example.com DB Worker-1 Worker-2 Worker-3 Worker-4 Message Queue System

    v2api.example.com v1api.example.com
  11. “Sometimes, you need all the connected process data to identify

    the problem.
  12. Logging • Rich Logging • Application Logs • Server Logs

    • Storing the Logs (Elasticsearch) • Centralized Logging (Logstash) • Analysing the logs (Kibana) • Log correlation
  13. Logging - Log Correlation

  14. DEMO TIME

  15. Application Performance Profiling • Identifying the problem • Pining the

    problem down
  16. ANTS Performance Profiler from Redgate

  17. ANTS Performance Profiler from Redgate

  18. DEMO TIME

  19. Application Memory Profiling • Identifying Memory Problems • Taking memory

    snapshots to analyse • Pinning the problem down
  20. ANTS Memory Profiler from Redgate

  21. ANTS Memory Profiler from Redgate

  22. ANTS Memory Profiler from Redgate

  23. DEMO TIME

  24. WinDbg and ProcDump • Dump file and WinDbg • WinDbg:

    https://msdn.microsoft.com/en- us/windows/hardware/hh852365.aspx • ProcDump: https://technet.microsoft.com/en- gb/sysinternals/dd996900.aspx C:\>procdump -ma outlook -p "\Process(Outlook)\Handle Count" 10000
  25. Server Profiling • Event Logs • Performance Counters

  26. Performance Counters

  27. Event Logs

  28. None
  29. Load Testing

  30. Load Testing

  31. Network Profiling • Network problems • Watching what is being

    sent and recived • Fiddler • Wireshark
  32. www.red-gate.com/dotnet-tips

  33. Resources • ANTS Performance Profiler and ASP.NET 5: http://bit.ly/1LYO86Y •

    ASP.NET 5 Log Correlation: http://bit.ly/1Wiv08B • Assembly Memory Leak Sample: http://bit.ly/1HfbTWi • Memory Profiling an Application on IIS: http://bit.ly/1M0rEm7 • Performance Counters with PowerShell: http://bit.ly/1LFiuNO • Diving into Diagnostics on ASP.NET 5: http://bit.ly/1WmqJB2