-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Akka.IO: redesign TcpConnection
#7637
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
Akka.IO: redesign TcpConnection
#7637
Conversation
|
The most significant difference in performance here is the single client test, which accurately measures single socket read / write performance - we went from 18k to 22k operations per second there, an improvement of ~18% |
|
Currently blocked on some original design issues - basically Akka.IO is missing some basic features you want for real TCP server applications, namely:
The other issue I have with the settings code, in particular, is the question of how large the write buffer should be allowed to grow. In Akka.Remote we don't really constraint this at all outside of capping the number of |
|
So apparently |
|
Now that #7651 has been merged, we need to get some new numbers |
Changes
Addresses a significant number of reliability and performance issues with Akka.IO.Tcp
close #7634
Still need to add:
TcpConnection- Akka.Streams.IO blows up without thisTcpListener- same dealTcpConnectionwriting - if someone sends a message larger than the max frame size we'll hang currently. Better to paginate it.Checklist
For significant changes, please ensure that the following have been completed (delete if not relevant):
TcpConnectiondoes not propagate closure events reliably #7634Latest
devBenchmarksThis PR's Benchmarks