reth icon indicating copy to clipboard operation
reth copied to clipboard

Add configuration option to enable/disable HTTP response compression

Open ByteYue opened this issue 7 months ago • 0 comments
trafficstars

Describe the feature

Introduce a configuration parameter (e.g., like --http.compression in erigon) to enable or disable HTTP response compression in the rpc server logic. This flexibility allows operators to tailor compression settings based on their infrastructure and performance requirements.​

Additional context

We're integrating Reth as the execution layer for our high-performance, EVM-compatible blockchain. During performance stress testing, we observed significant CPU usage attributed to the miniz_oxide::deflate functions as follows, which handle HTTP response compression. This overhead is particularly impactful when processing high volumes of sendTransaction requests.​

Image

To optimize resource utilization, especially for validator nodes, we think it might be one solution that offloading compression tasks to upstream load balancers (LBs). This approach conserves CPU resources on validator nodes by delegating compression to LBs positioned earlier in the network topology. To do so, the compression logic inside the rpc server logic should be able to passed.

Before proceeding, we seek confirmation on whether this enhancement aligns with the project's goals and if it would be a valuable addition to Reth. Looking forward to your comments ❤️

ByteYue avatar Apr 20 '25 15:04 ByteYue