Explore sendfile/splice support when proxying streams to avoid user-space buffer copy
harshavardhana opened this issue · 3 comments
harshavardhana commented
Expected Behavior
Limited performance changes when using sidekick or without it
Current Behavior
sidekick loses performance for READ operations, without it we are able
to saturate the network properly.
Possible Solution
It may be that buffer copy from userspace to kernel space incurs performance
loss.
Steps to Reproduce (for bugs)
It would be best if you had a sizable setup, and this can't be easily reproduced in smaller
environments.
Context
Performance
Regression
Not really
Your Environment
latest sidekick
poornas commented
golang/go#21814 (comment) - splice support was dropped because tcp conn is not available for src and dest while proxying
harshavardhana commented
I think what we can do for sidekick is to behave like a TCP proxy (LB)
harshavardhana commented
This is not possible for now.