dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.51k stars 10.04k forks source link

Improve Http.sys allocation profile and performance #22022

Open davidfowl opened 4 years ago

davidfowl commented 4 years ago

AB#1240693

This isn't urgent in anyway but I wanted to keep track of the low hanging performance fruit in HttpSys server:

Http.sys optimizations

General

Accept loop

Bodies

Client cert loader

wtgodbe commented 4 years ago

Will get to this once I'm done with teamCity - I'll loop in @davidfowl, @sebastienros and @Tratcher once I get started

ghost commented 4 years ago

Thanks for contacting us. We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. We will evaluate the request when we are planning the work for the next milestone. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

davidfowl commented 3 years ago

I'm starting work on this. To get a baseline of where we are today, here's an allocation profile with 10K requests (all doing hello world)

image

image

We're interested improving the things allocated per request

cc @benaadams

paulomorgado commented 3 years ago

@davidfowl, can you point to the source code involved in this?

benaadams commented 3 years ago

can you point to the source code involved in this?

Servers/HttpSys https://github.com/dotnet/aspnetcore/tree/master/src/Servers/HttpSys

davidfowl commented 3 years ago

I'm making some big structural changes so please refrain from small fixes for now 🤓

ghost commented 3 years ago

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

StephenBonikowsky commented 2 years ago

@davidfowl Is this still being considered for .NET 7?

ghost commented 2 years ago

Thanks for contacting us.

We're moving this issue to the .NET 8 Planning milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s). If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.