-
Notifications
You must be signed in to change notification settings - Fork 169
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
Inefficient networking #905
Comments
Hey Paolo! First of all, thanks for that report! That said, there are a few important points:
To conclude - the rework should get rid of most of the inefficiencies, though some answers are not straightforward. cc @caspervonb |
On a related tangent, reduced ping noise going over the pipeline #931 |
Configurable write buffer addresses this #971, as in a 0 byte buffer would effectively disable buffering. Wasn't the main intent but free side effect. |
Looked into this a while back and found it non-actionable, TLS passes through one handshake is established no? |
We might be able to avoid some alloc by using writev, but the main intent is to reduce syscalls. Larger buffer generally means greater throughput (depending on the tuning of send/recv buffers via sysctl). |
I'll try sending a PR in the following days to improve the |
handle_flush
is called in far too many places. In the current state of things I don't think there's much request pipelining going on.BufWriter
is kept in the loop despite rustls acting sort of like aBufWriter
by itselfBufWriter
might not be necessary at all if writes coming from the same command were done in a single call usingwrite_vectored
cc @dodomorandi
The text was updated successfully, but these errors were encountered: