-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
perf: Lift the thread limit to enable full concurrency #2145
Conversation
After switching to tokio-compat, the thread limit should not be required. Signed-off-by: MOZGIII <mike-n@narod.ru>
08ab248
to
6305861
Compare
/test -t tcp_to_tcp_performance -c big-vms |
1 similar comment
/test -t tcp_to_tcp_performance -c big-vms |
Test harness invocation requested by #2145 (comment) is complete! Something went wrong, see log for more details. You can check the execution log to learn more! |
/test -t tcp_to_tcp_performance -c big-vms |
@binarylogic it's unfortunately broken again. |
Test harness invocation requested by #2145 (comment) is complete! Something went wrong, see log for more details. You can check the execution log to learn more! |
/test -t tcp_to_tcp_performance -c big_vms |
🥁 |
Test harness invocation requested by #2145 (comment) is complete! Something went wrong, see log for more details. You can check the execution log to learn more! |
Test harness invocation requested by #2145 (comment) is complete!
You can check the execution log to learn more! |
It worked! I’ll fix the output so the results are displayed. |
Great! This may be related: vectordotdev/vector-test-harness#47 |
/test -t tcp_to_tcp_performance -c 16-cores |
Test harness invocation requested by #2145 (comment) is complete! Something went wrong, see log for more details. You can check the execution log to learn more! |
/test -t tcp_to_tcp_performance -c 16_cores |
Here are the new results:
I have suspicion that this is not actually raising the thread limit since nothing really changed. It would be nice to investigate CPU core usage when this test is actually running. |
I updated the above results with more versions. In |
Looks like this change fixed it 😄
You can see my comparison branch here. Unless I'm missing something, this appears to be resolved. I'd still like to verify that this branch is actually using all CPU cores. Or I may be misunderstandingn how Vector utilizes cores with the new runtime. |
🎉 Finally! Getting results from the test harness is so time-consuming, but we're getting there. |
@binarylogic so I doubt it will use all cores because we can only partition the work on multiple cores based on each connection being on a single task/core. The issue that we were most likely seeing before was the work stealing scheduler was causing a lot of contention trying to steal tasks because of the amount of idle workers. Aka if we have more workers than tasks that are being executed those idle workers will put a lot of contention on the global task queue. Which can drastically slow it down. So this aligns well with what we chatted with @jonhoo about a while back :) and why he originally wrote |
Note that 0.8 doesn't have the patch that lifts thread limit, so we effectively run at 4 threads. |
That said, the comparison, nonetheless, shows that this PR can be merged and the high threads count is not a problem anymore. |
Let's merge it then 🚀 |
After switching to tokio-compat, the thread limit should not be required. Signed-off-by: MOZGIII <mike-n@narod.ru>
After switching to
tokio-compat
, the thread limit should not be required.Closes #391.
Closes #1696.
We're not merging this until we do #1696.