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

Transport.Sockets.IOQueue -> IThreadPoolWorkItem #4601

Merged
merged 1 commit into from Dec 27, 2018

Conversation

Projects
None yet
5 participants
@benaadams
Copy link
Contributor

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

This comment has been minimized.

Copy link
Member

pakrym commented Dec 12, 2018

LGTM

@halter73

This comment has been minimized.

Copy link
Member

halter73 commented Dec 12, 2018

@sebastienros Can you benchmark this?

@benaadams

This comment has been minimized.

Copy link
Contributor 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

This comment has been minimized.

Copy link
Member

davidfowl commented Dec 17, 2018

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

@sebastienros

This comment has been minimized.

Copy link
Member

sebastienros commented Dec 17, 2018

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

This comment has been minimized.

Copy link
Contributor Author

benaadams commented Dec 17, 2018

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

@pakrym

This comment has been minimized.

Copy link
Member

pakrym commented Dec 27, 2018

@benaadams do you mind rebasing this?

@benaadams benaadams force-pushed the benaadams:IThreadPoolWorkItem branch from c5fe079 to 1a6d8f8 Dec 27, 2018

@benaadams

This comment has been minimized.

Copy link
Contributor Author

benaadams commented Dec 27, 2018

Rebased

@benaadams

This comment has been minimized.

Copy link
Contributor Author

benaadams commented Dec 27, 2018

CI errors #6127, #6135 and #6136

@pakrym pakrym merged commit 0d9de49 into aspnet:master Dec 27, 2018

1 check passed

license/cla All CLA requirements met.

@benaadams benaadams deleted the benaadams:IThreadPoolWorkItem branch Dec 27, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment