Skip to content

Transport.Sockets.IOQueue -> IThreadPoolWorkItem #4601

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

Merged
merged 1 commit into from
Dec 27, 2018

Conversation

benaadams
Copy link
Member

@benaadams benaadams commented Dec 12, 2018

Resolves #4357

In combination with dotnet/coreclr#21159 this is the final piece to bring the steady state allocations for Plaintext Platform to 0 bytes/s (for 7M+ request/s) in .NET Core 3.0

image

Which fits with the goals of aspnet applications being able to run under lower memory conditions (See: "Proposal for .NET Core GC Support for Docker Limits")

/cc @sebastienros @halter73 @pakrym @davidfowl @Tratcher

@pakrym
Copy link
Contributor

pakrym commented Dec 12, 2018

LGTM

@halter73
Copy link
Member

@sebastienros Can you benchmark this?

@benaadams
Copy link
Member Author

benaadams commented Dec 13, 2018

In combination with dotnet/coreclr#21159 this is the final piece to bring the steady state allocations for Plaintext Platform to 0 bytes/s (for 7M+ request/s) in .NET Core 3.0

image

Which fits with the goals of aspnet applications being able to run under lower memory conditions (See: "Proposal for .NET Core GC Support for Docker Limits")

@davidfowl
Copy link
Member

We need to collect a profile on Linux. To make sure we slash the allocations across the board.

@sebastienros
Copy link
Member

Benchmarking PlatformPlaintext on Windows with 512 connections

Description RPS CPU (%) Memory (MB) Avg. Latency (ms) Startup (ms) First Request (ms) Latency (ms) Ratio
Baseline 3,411,048 80 327 5.3 250 27.7 0.4 1.00
IThreadPoolWorkItem 3,439,712 80 282 5.2 248 30.1 0.5 1.01

@benaadams benaadams closed this Dec 17, 2018
@benaadams benaadams reopened this Dec 17, 2018
@benaadams
Copy link
Member Author

Memory 327 MB -> 282 MB suggests a positive impact 😄

@pakrym
Copy link
Contributor

pakrym commented Dec 27, 2018

@benaadams do you mind rebasing this?

@benaadams
Copy link
Member Author

Rebased

@benaadams
Copy link
Member Author

CI errors #6127, #6135 and #6136

@pakrym pakrym merged commit 0d9de49 into dotnet:master Dec 27, 2018
@benaadams benaadams deleted the IThreadPoolWorkItem branch December 27, 2018 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants