Skip to content

Enable TCP FastPath support#3710

Merged
benjaminpetit merged 5 commits into
dotnet:masterfrom
eisendle:fastpath
Nov 29, 2017
Merged

Enable TCP FastPath support#3710
benjaminpetit merged 5 commits into
dotnet:masterfrom
eisendle:fastpath

Conversation

@eisendle
Copy link
Copy Markdown
Contributor

This pull request enables TCP Fastpath support to Orleans. Fastpath is a technique which speeds up loopback tcp connections on windows server 2012 / Windows 8 upwards. For more information see here.
I did some benchmarks and enabling fastpath adds some minor response time & throughput improvements:

Fastpath enabled Average latency (ms) Throughput msg/sec
Yes 1.574 635
No 1.671 598

This PR improves response time & throughput for co hosting scenarios until support for local silo clients is added (#3362).

@sergeybykov sergeybykov added this to the 2.0.0 milestone Nov 28, 2017
@benjaminpetit
Copy link
Copy Markdown
Contributor

Always nice to improve response time and throughput, even for local-only scenario. I would feel more comfortable to add a config flag no enable this, but it might be overkill for this change...

I read the documentation, and they do not say if it can have an impact on non-loopback scenario?

@eisendle
Copy link
Copy Markdown
Contributor Author

The documentation here (see Remarks) states that setting SIO_LOOPBACK_FAST_PATH on non loopback sockets has no effect. Also Fastpath is enabled in Kestrel #416 too. So the risk to break something should be minimal.

@benjaminpetit benjaminpetit merged commit 2a12d25 into dotnet:master Nov 29, 2017
@benjaminpetit
Copy link
Copy Markdown
Contributor

Thanks @eisendle !

@eisendle eisendle deleted the fastpath branch November 30, 2017 06:40
@github-actions github-actions Bot locked and limited conversation to collaborators Dec 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants