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?
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?