-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Akka.Benchmarks: run real duplex messaging over Akka.IO.Tcp #7651
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.Benchmarks: run real duplex messaging over Akka.IO.Tcp #7651
Conversation
This is a more realistic test of how fast the system can go
|
The changes had very little impact to the observed performance - which either tells us that we have a massive flow control bottle neck inside the Tcp actors themselves or we have significant headroom above what the underlying TCP system can deliver. Won't be able to tell until we run this on #7637 |
| Sender.Tell(Tcp.Write.Create(ByteString.FromBytes(message))); | ||
|
|
||
| // send messages in bursts of 20 | ||
| for (var i = 0; i < 20; i++) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Prime 20 messages in-flight at the same time
|
Actually, the problem is that we're not doing any real message framing - therefore it's totally possible that all 20 messages just get absorbed into a single big message by the second or third time the |
|
Got it working with message framing now and the results are looking a lot more like what I'd expect to see |
Results
|
|
That's more like it, but there's definitely a bug when we're running with only 1 client |
|
Here we go - final numbers: Final Numbers
|
Changes
This is a more realistic test of how fast the system can go, is more similar to real world usage, and is also what we do inside
RemotePingPongChecklist
For significant changes, please ensure that the following have been completed (delete if not relevant):
Latest
devBenchmarksThis PR's Benchmarks