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

http pipelining for storageBackend #595

Open
julianseeger opened this issue Sep 14, 2016 · 2 comments
Open

http pipelining for storageBackend #595

julianseeger opened this issue Sep 14, 2016 · 2 comments

Comments

@julianseeger
Copy link
Collaborator

follow up on #577

using HTTP pipelining should reduce that number to essentially 1. (pipelining POSTs is safe for this application imho)
https://hc.apache.org/httpcomponents-core-ga/httpcore-nio/examples/org/apache/http/examples/nio/PipeliningHttpClient.java

@thechauffeur
Copy link
Member

See Qabel/qabel-block#64 for another approach maybe.

@thechauffeur thechauffeur added this to the after RC milestone Oct 4, 2016
@enkore
Copy link
Collaborator

enkore commented Oct 4, 2016

The two are somewhat orthogonal to each other, although there is a bit of an overlap, because frequent polling will require more open connections if other requests are done at the same time.

What pipelining would do for us is that many small requests (I assume this would happen frequently when syncing directories with many small/average sized files) are accelerated, because they require fewer connections and new requests can be send before responses for earlier requests are received. Since there is no chunking going on long-running requests or responses will still block a connection, so one would need maybe two / just a couple (one+ for smaller requests, one+ for larger requests that shouldn't be pipelined).

I suspect that this may require larger changes overall.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants