Open yuanzhe-ge opened 2 years ago
Sounds great that avoid compression of small data, my concern is what is the "best" threshold for most cases then we can use it as default.
Snap has ABed multiple min threshold. for messaging service with 1024 bytes as min threshold, we are looking at 40% egress bandwidth saving with slight regression in P50(1-2ms) for e2e network latency.
cc @kbaichoo @mattklein123
Sure this sounds like a good idea!
If you are reporting any crash or any potential security issue, do not open an issue in this repo. Please report the issue via emailing envoy-security@googlegroups.com where the issue will be triaged appropriately.
Title: One line description Buffer response header in compressor_filter and perform compression decision when receiving first data frame (encode_data)
Description:
Snap leverages on compressor_filter to perform response compression for gRPC responses. gRPC server doesnt add content-length to response header that the compressor filter will compress small response payload as well , which causes some overhead in egress bandwidth.
What Snap does(already running in prod env) is to perform a lazy evaluation when receiving first data frame instead of buffering all data frames.
Snap want to seek some feedback from envoy community that
[optional Relevant Links:]