Description From the plan:
Goal:
To observe how Coder handles Coder Desktop usage at scale.
User target
Workspaces
Clients
Regions
coderd replicas
Provisioners
1k
300
165
3
3
60
2k
600
330
3
3
120
3k
900
495
3
4
180
10k
3000
1650
3
10
600
Infrastructure:
Kubernetes cluster per region, each cluster has:
1/3 of workspaces.
1/3 of provisioners.
Implementation:
Tools: scaletest create-workspaces + new custom Tailnet clients.
Build concurrency equal to provisioners, to minimize build load.
Scenarios:
Half of the workspaces will be owned by users who own 10 workspaces. The other half will be owned by users with 1 workspace.
Most users will own one workspace, but we want to ensure those who own lots of workspaces don’t degrade the experience for others.
Run Sequence:
Create users.
All user clients connect to api/v2/tailnet.
Staggered start workspaces (via build concurrency = provisioners).
Wait until all updates have been received, or a reasonable timeout.
Stop all running workspaces.
Repeat step 3.
Key Results:
Latency from build start to corresponding workspace update receipt.
DB utilization/load during update fan out.
Missed updates (each client expects minimum two updates).
Other results:
Coder deployment + database resource utilization (incl. pprofs, Grafana Pyroscope).
Workspace creation success rate.
API response times.
Reactions are currently unavailable
You can’t perform that action at this time.
From the plan:
Goal:
Infrastructure:
Implementation:
scaletest create-workspaces+ new custom Tailnet clients.Scenarios:
Run Sequence:
api/v2/tailnet.Key Results:
Other results: