cloudflare / cloudflare/workerd

Feature request: support configuring `HttpServerSettings::pipelineTimeout`

Open
#7,169 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.