Skip to content

Conversation

@spikecurtis
Copy link
Contributor

@spikecurtis spikecurtis commented Dec 16, 2025

While scale testing, I noticed that our load generators send basically all requests to a single Coderd instance.

e.g.

image.png

This is because our scale test commands create all Runners using the same codersdk Client, which means they share an underlying HTTP client. With HTTP/2 a single TCP session can multiplex many different HTTP requests (including websockets). So, it creates a single TCP connection to a single coderd, and then sends all the requests down the one TCP connections.

This PR modifies the exp scaletest load generator commands to create an independent HTTP client per Runner. This means that each runner will create its own TCP connection. This should help spread the load and make a more realistic test, because in a real deployment, scaled out load will be coming over different TCP connections.

Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@spikecurtis spikecurtis marked this pull request as ready for review December 16, 2025 10:18
@spikecurtis spikecurtis force-pushed the spike/scaletest-duplicate-clients branch from d76fd80 to 0369e8d Compare December 16, 2025 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants