Summary
Connection pool settings (POOL_MAX_IDLE_PER_HOST, POOL_IDLE_TIMEOUT_SECS) are only configurable via environment variables. This means all tests on a worker use the same pool behavior — you can't switch between connection-reuse and new-connection-per-request tests without restarting the process with different env vars.
Solution
Add an optional pool section to the YAML config block so pool behavior can be set per-test via POST /config:
config:
baseUrl: https://example.com
pool:
maxIdlePerHost: 0 # 0 = new connection per request
idleTimeoutSecs: 0 # 0 = close idle connections immediately
Both fields are optional — when omitted, env-var defaults apply. YAML values override env vars when present.
Use Cases
- Force new connections:
maxIdlePerHost: 0, idleTimeoutSecs: 0 — test TLS handshake overhead
- Long-lived reuse:
maxIdlePerHost: 1, idleTimeoutSecs: 600 — keep connections alive across infrequent requests
- Default pooling: omit
pool section entirely — uses env-var defaults (32 idle, 30s timeout)
Related
Summary
Connection pool settings (
POOL_MAX_IDLE_PER_HOST,POOL_IDLE_TIMEOUT_SECS) are only configurable via environment variables. This means all tests on a worker use the same pool behavior — you can't switch between connection-reuse and new-connection-per-request tests without restarting the process with different env vars.Solution
Add an optional
poolsection to the YAMLconfigblock so pool behavior can be set per-test viaPOST /config:Both fields are optional — when omitted, env-var defaults apply. YAML values override env vars when present.
Use Cases
maxIdlePerHost: 0, idleTimeoutSecs: 0— test TLS handshake overheadmaxIdlePerHost: 1, idleTimeoutSecs: 600— keep connections alive across infrequent requestspoolsection entirely — uses env-var defaults (32 idle, 30s timeout)Related