-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Reduce the number of vert.x eventloops started by default #27025
Conversation
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.
LGTM, as said before, this is going to save some memory resources eg TLAB of Netty pooled allocators, EPOLL selectors and native threads
Additionally it's going to return back resources for IRQ processing and JIT background work
This comment has been minimized.
This comment has been minimized.
This is really interesting. Imo this is an important topic with generally too little information available - there's hardly anything beyond the description of the config parameter. If there's reason to either adjust the configuration or leave it alone, then I think developers should know about it. Vert.x still runs with the 2 x core-default. Do the guys over there know about these experiments? |
Hi @technical-debt-collector - I'm referring to our experiments with the Techempower benchmarks; you can easily run them yourself, would be great to have some more eyes on these: Specifically the code we were looking into is in: We discuss some of these things in a recent Quarkus Insights as well: Yes I know about the vert.x defaults - we're talking and working with the vert.x team as well, however since that's more exposed in that case one might not want to make such a change in a minor release; in Quarkus however we think it's safe enough. BTW I'll be out of town for some days - might be slow to follow up :) @franz1981 knows more about this though, feel free to discuss here. |
The CI failures seem related |
Thanks @Sanne! I'll have a look at this as soon as I find the time, possibly not before EOW. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I fixed the issue in the vertx tests, which were making assumptions about the number of threads we'd be starting. But now there's some new tests failing, Windows only - I'll need to check those later. Does anyone have an effective way to check if these tests have been failing recently in other PRs ? I'm puzzled about why this patch would break something only on Windows. |
I don't remember seeing this one failing. One way to be sure is to just do a search in the PR with the name of the test, given they are included in comments. That's one nice additional benefit of the reports. And apparently, it also failed here: #27210 . |
so you're searching like I couldn't find any previous similar failure; I assume you're referring to the other failure? in that case it's fairly ancient, not sure if it should count. |
I've finally been able to run tests on a local Windows box - of course they don't fail here :( |
I just search for |
Failing Jobs - Building 9bf91d3
Full information is available in the Build summary check run. Failures⚙️ Gradle Tests - JDK 11 #- Failing: integration-tests/gradle
📦 integration-tests/gradle✖
⚙️ JVM Tests - JDK 11 #- Failing: extensions/smallrye-reactive-messaging-amqp/deployment
! Skipped: integration-tests/reactive-messaging-amqp 📦 extensions/smallrye-reactive-messaging-amqp/deployment✖
|
The remaining two failures seem to be frequent offenders, so I think this is ready to be merged. |
As discussed at JNation, we have some experiments showing that:
And obviously it saves a little chunk of memory as well. We briefly discussed the possibility to create "named profiles" so that people could experiment with different scaling formulas, but we decided to keep it simple: this is just the default meant to provide a reasonable OOB experience, while people wanting to tune things further can set the appropriate configuration property.
cc/ @franz1981