Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Profile and performance test Diagnostics middleware #42700

Open
brunolins16 opened this issue Jul 12, 2022 · 2 comments
Open

Profile and performance test Diagnostics middleware #42700

brunolins16 opened this issue Jul 12, 2022 · 2 comments
Labels
area-middleware Includes: URL rewrite, redirect, response cache/compression, session, and other general middlesware
Milestone

Comments

@brunolins16
Copy link
Member

brunolins16 commented Jul 12, 2022

During the #42384 I noticed that the Diagnostics middleware, mainly StatusCodePages middleware, allocated much more than expected

application statuscodepages nostatuscodepages+content
Max Working Set (MB) 179 186 +3.74%
Max GC Heap Size (MB) 90 94 +4.21%
Size of committed memory by the GC (MB) 117 119 +1.28%
Max Number of Gen 0 GCs / sec 41.00 25.00 -39.02%
Max Number of Gen 1 GCs / sec 1.00 13.00 +1,200.00%
Max Number of Gen 2 GCs / sec 0.00 1.00 +∞%
Max Time in GC (%) 2.00 1.00 -50.00%
Max Gen 0 Size (B) 3,152,512 5,146,600 +63.25%
Max Gen 1 Size (B) 9,309,256 5,376,536 -42.25%
Max Gen 2 Size (B) 1,970,808 6,406,424 +225.07%
Max LOH Size (B) 411,320 411,320 0.00%
Max POH Size (B) 3,472,456 3,451,856 -0.59%
Total Allocated Bytes 96,805,446,920 57,737,869,840 -40.36%
Max GC Heap Fragmentation 30 41 +36.47%
load statuscodepages nostatuscodepages+content
Requests/sec 1,354,620 1,429,729 +5.54%
Requests 20,454,730 21,588,730 +5.54%

nostatuscodepages+content => endpoints.MapGet("sample", () => Results.Content(new string(' ', 500), statusCode: 415));

new string(' ', 500) is similar to what the StatusCodePages does.

Since this middleware, and other Diagnostics middleware, will become more relevant after the introducing of ProblemDetails Services, we should do some profiling and optimizing of these middleware, including scenarios that produce a ProblemDetails payload.

@brunolins16 brunolins16 changed the title Prob Profile and performance test Diagnostics middleware Jul 12, 2022
@brunolins16 brunolins16 self-assigned this Jul 12, 2022
@brunolins16 brunolins16 added the area-web-frameworks *DEPRECATED* This label is deprecated in favor of the area-mvc and area-minimal labels label Jul 12, 2022
@brunolins16 brunolins16 added this to the 7.0-rc1 milestone Jul 12, 2022
@rafikiassumani-msft rafikiassumani-msft modified the milestones: 7.0-rc1, 7.0-rc2 Jul 28, 2022
@danroth27 danroth27 added task and removed task labels Oct 7, 2022
@brunolins16 brunolins16 modified the milestones: 7.0-rc2, .NET 8 Planning Feb 24, 2023
@ghost
Copy link

ghost commented Feb 24, 2023

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.

@brunolins16 brunolins16 removed their assignment Feb 24, 2023
@brunolins16 brunolins16 modified the milestones: .NET 8 Planning, Backlog Feb 24, 2023
@ghost
Copy link

ghost commented Feb 24, 2023

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.

@captainsafia captainsafia added area-middleware Includes: URL rewrite, redirect, response cache/compression, session, and other general middlesware and removed area-web-frameworks *DEPRECATED* This label is deprecated in favor of the area-mvc and area-minimal labels labels Jun 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-middleware Includes: URL rewrite, redirect, response cache/compression, session, and other general middlesware
Projects
None yet
Development

No branches or pull requests

4 participants