Skip to content
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

core: disable server-side HTTP pipelining by default #3321

Merged
merged 1 commit into from
Jul 6, 2020

Conversation

jrudolph
Copy link
Member

It's somewhat of an obscure feature which doesn't seem to be tested well.

@jrudolph jrudolph added this to the 10.2.0 milestone Jun 30, 2020
@akka-ci akka-ci added validating PR that is currently being validated by Jenkins tested PR that was successfully built and tested by Jenkins and removed validating PR that is currently being validated by Jenkins labels Jun 30, 2020
@akka-ci
Copy link

akka-ci commented Jun 30, 2020

Test PASSed.

Copy link
Member

@ennru ennru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Copy link
Member

@raboof raboof left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't performance suffer because this would cause many more TCP (and perhaps TLS) handshakes in scenario's where there's a lot of small requests (and perhaps head-of-line blocking isn't such an issue)? Or am I thinking of a different 'pipelining' feature there?

@jrudolph
Copy link
Member Author

jrudolph commented Jul 6, 2020

It's not about persistence but about pipelining. Pipelining helps only with the latency of sending over requests because responses still need to be delivered in order.

The only place where I see it used in "practice" is in benchmarks where sending over multiple requests in one go helps with avoiding system calls.

Wouldn't performance suffer because this would cause many more TCP (and perhaps TLS) handshakes in scenario's where there's a lot of small requests (and perhaps head-of-line blocking isn't such an issue)? Or am I thinking of a different 'pipelining' feature there?

This scenario would probably benefit from pipelining but you will first have to find a client which supports it.

After all we are just following the way that curl went: https://daniel.haxx.se/blog/2019/04/06/curl-says-bye-bye-to-pipelining/

Copy link
Member

@raboof raboof left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK then ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tested PR that was successfully built and tested by Jenkins
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants