Sherlock Homepage - A detective story about running large web services
summary
NuGet experiences 8–10M requests/day and a cascade of real bugs: a removed custom load balancer probe fixes a DNS failover outage; search service spends 58% of time in GC and locks because an index reload blocks requests—fix by background index reload (index load was ~2 minutes); a fire‑and‑forget Task crashes IIS until the team handle UnobservedTaskException; TCP port exhaustion and 21‑minute package restores vanish after set ServicePointManager.DefaultConnectionLimit plus TCP tweaks; memory leaks stop after replacing a DI cache holding EF contexts. Tools: Azure, App Insights, profilers, dotPeek, crash dumps, jMeter.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:04Site is unavailable
- 7:15Nougat history
- 11:46Solving the crime
- 14:51Profiling the website
- 16:26Profiling the search service
- 19:26Searcher manager issues
- 21:33Garbage collection issues
- 26:09Internal server error
- 29:01Crash dumps
- 34:59Exception bubble
- 37:04High response times
- 38:01The root cause
- 50:31Memory pressure
- 52:17JMeter
- 53:13Memory Management
related talks
01h 04mAdvanced .NET debugging techniques from real world investigations
39mMaking it faster
01h 02mWriting high performance code in .NET
01h 00mDiagnosing issues in ASP.NET Core Applications
53mDebugging .NET Apps
39mFrom Stubbies to Longnecks
21mDebugging at Scale—Going from Single Box to Production
59mLessons Learned from the Trenches: Connectivity and Performance Tips&Tricks
