-
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
Sys prop configuration to leverage SSL heap buffer pooling #45185
Conversation
@geoand I'm opened to suggestions on how to better let users to consume it. To be fair IDK if it's ok the way I've implemented it because |
This comment has been minimized.
This comment has been minimized.
This is more for @cescoffier to decide |
@mabartos can you please check the checklist in description if TLS/SSL is used in any of the missing changes? |
Status for workflow
|
Correct |
I've quickly verified, by running a debug session vs getting-started (dev branch) - that the 2 args work as intended. |
@franz1981 Thanks for these changes! We will probably run some more comprehensive analysis after Xmas. For Keycloak purposes, we don't use gRPC SSL, or reactive SQL SSL. AFAIK, not even Vert.x HTTP client. |
Lovely, I would like to ask more people in the community if they can give it a shot, maybe @vsevel - but it's approaching Christmas so, don't expect the world to be reactive eheh |
I am making a note of it. how should this be tested? where can I expect the improvements? |
Thanks @vsevel for the quick response: it should benefit when http (1.1 and 2) TLS/SSL is involved. The benefits are both CPU usage and heap allocation pressure, since, without these fixes, on SSL/TLS every decoding/encoding of data just allocate a giant unpooled heap buffer. |
This fix the weird performance problem observed at #41880 (comment)
if the users run the quarkus application with
-Dquarkus.http.server.ssl.jdk.bufferPooling=true -Dvertx.reuseNettyAllocators=true
(latter, see eclipse-vertx/vert.x#5292)It is still missing:
I'm not aware in which other Quarkus extensions (.e.g OTel?) we are using SSL/TLS from Vertx: if we do, we should provide a similar fix there.