minio/sidekick

Explore sendfile/splice support when proxying streams to avoid user-space buffer copy

harshavardhana opened this issue · 3 comments

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

golang/go#21814 (comment) - splice support was dropped because tcp conn is not available for src and dest while proxying

I think what we can do for sidekick is to behave like a TCP proxy (LB)

This is not possible for now.