cloudflare / cloudflare/workerd
Feature request: support configuring `HttpServerSettings::pipelineTimeout`
- Dominant language
- C++
- Stars
- 8.7k
- Forks
- 739
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 174
Description
In our deployment of workerd, we have a lot of connection churn due to the relatively short fixed idle connection timeout in workerd, corresponding to the default value of `HttpServerSettings::pipelineTimeout`, 5s. We have a fairly steady state of open inbound connections to workerd, but churn about 8% of them per second, i.e. the TTL for a new connection averages ~12s. Establishing new connections is low latency (average ~300μs - no TLS), but in aggregate we are still spending over 1s/s in connection establishment across our whole application.
(The correspondingly low rate of connection utilization from the client is something that cannot be easily fixed, unfortunately.)
In our circumstances, we would be willing to tolerate much longer idle timeouts in exchange for reduced connection churn. Could this be made configurable in workerd.capnp?
Contributor guide
Research direction
Start in workerd.capnp and search the repository for HttpServerSettings::pipelineTimeout and its default value. Trace how the setting reaches the HTTP server, then verify that a configured timeout is honored for idle inbound connections and that the default behavior remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend, networking
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100