Skip to content
0:00 / 0:00

#asp.netcore#async/await#threadstarvation

Diagnosing issues in ASP.NET Core Applications - David Fowler & Damian Edwards

NDC Conferences

230K subscribers • 110 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by David Fowler & Damian Edwards, ASP.NET Core Team
  • May be out of date. Uploaded 8 years ago, in an area where tools change fast.

Intermediate. Assumes working knowledge.

8.6K views8 years ago2 recommendations

Web developmentSystems programmingWeb performanceConcurrency and parallelismSoftware architecture

David Fowler and Damian Edwards explain how to identify and fix common ASP.NET Core issues like thread starvation and dependency injection misconfigurations.

ASP.NET Core introduced architectural changes that can lead to new types of application stability and reliability issues if not fully understood. Learn from Damian and David how to identity, diagnose, and fix some of the most common issues in ASP.NET Core applications that we’ve seen from actual customer reports, e.g. thread starvation, dependency injection misconfiguration, and package conflicts. NDC Conferences ndc-london.com ndcconferences.com

Why it's here

2 people recommend this

What people say. Recommended as an excellent explanation of async/await pitfalls, thread starvation, and request pipeline blocking under high load in ASP.NET Core.

u/silentBob86in r/dotnet • Recommends

On “Using async/await in ASP.Net seems to be more trouble than it's worth?”

You are right. The async model in dotnet has added a lot of complexity for potential performance benefits which most people probably don't need. Your example is even on of the more simple problems (which gets solved in the next c# version). At NDC 2018 David Fowler & Damian Edwards talked an hour about everything that can go wrong, working with async/await (video) . Then there is this async guid which talks about stuff you have to watch out for. If you are not building high performance applications, you are getting a lot of complexity forced upon you.

u/wazzamatazzin r/dotnet • Recommends

On “ADO: Async all the way down the tubes?”

…t, including requests for static content, are processed by the same thread pool (this is different to e.g. static content in regular ASP.NET on IIS). As discussed (and demonstrated) by Damian Edwards and David Fowler in this video, if you block in your request pipeline, your requests will fail under high load because of thread starvation @42:30: link to this video Another point that the video raises @38:35 is, while the thread pool is able to spin up new threads as required (up to its limit), doing so is slow. As soon as you block, you increase the possibility that a new thread must be spun up, which is also going to affect your performance, just not in the place that you're focused on. In the sc…