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
Copy link
Contributor

@kacpersaw kacpersaw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@spikecurtis spikecurtis merged commit 73253df into main Dec 19, 2025
31 checks passed
@spikecurtis spikecurtis deleted the spike/scaletest-duplicate-clients branch December 19, 2025 08:22
@github-actions github-actions bot locked and limited conversation to collaborators Dec 19, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants