@@ -5,35 +5,37 @@ without compromising service. This process encompasses infrastructure setup,
55traffic projections, and aggressive testing to identify and mitigate potential
66bottlenecks.
77
8- A dedicated Kubernetes cluster for Coder is recommended to configure, host and
8+ A dedicated Kubernetes cluster for Coder is recommended to configure, host, and
99manage Coder workloads. Kubernetes provides container orchestration
1010capabilities, allowing Coder to efficiently deploy, scale, and manage workspaces
1111across a distributed infrastructure. This ensures high availability, fault
1212tolerance, and scalability for Coder deployments. Coder is deployed on this
1313cluster using the
1414[ Helm chart] ( ../../install/kubernetes.md#4-install-coder-with-helm ) .
1515
16+ For more information about scaling, see our [ Coder scaling best practices] ( ../../tutorials/best-practices/scale-coder.md ) .
17+
1618## Methodology
1719
1820Our scale tests include the following stages:
1921
20221 . Prepare environment: create expected users and provision workspaces.
2123
22- 2 . SSH connections: establish user connections with agents, verifying their
24+ 1 . SSH connections: establish user connections with agents, verifying their
2325 ability to echo back received content.
2426
25- 3 . Web Terminal: verify the PTY connection used for communication with Web
27+ 1 . Web Terminal: verify the PTY connection used for communication with Web
2628 Terminal.
2729
28- 4 . Workspace application traffic: assess the handling of user connections with
30+ 1 . Workspace application traffic: assess the handling of user connections with
2931 specific workspace apps, confirming their capability to echo back received
3032 content effectively.
3133
32- 5 . Dashboard evaluation: verify the responsiveness and stability of Coder
34+ 1 . Dashboard evaluation: verify the responsiveness and stability of Coder
3335 dashboards under varying load conditions. This is achieved by simulating user
3436 interactions using instances of headless Chromium browsers.
3537
36- 6 . Cleanup: delete workspaces and users created in step 1.
38+ 1 . Cleanup: delete workspaces and users created in step 1.
3739
3840## Infrastructure and setup requirements
3941
@@ -54,13 +56,16 @@ channel for IDEs with VS Code and JetBrains plugins.
5456The basic setup of scale tests environment involves:
5557
56581 . Scale tests runner (32 vCPU, 128 GB RAM)
57- 2 . Coder: 2 replicas (4 vCPU, 16 GB RAM)
58- 3 . Database: 1 instance (2 vCPU, 32 GB RAM)
59- 4 . Provisioner: 50 instances (0.5 vCPU, 512 MB RAM)
59+ 1 . Coder: 2 replicas (4 vCPU, 16 GB RAM)
60+ 1 . Database: 1 instance (2 vCPU, 32 GB RAM)
61+ 1 . Provisioner: 50 instances (0.5 vCPU, 512 MB RAM)
62+
63+ The test is deemed successful if:
6064
61- The test is deemed successful if users did not experience interruptions in their
62- workflows, ` coderd ` did not crash or require restarts, and no other internal
63- errors were observed.
65+ - Users did not experience interruptions in their
66+ workflows,
67+ - ` coderd ` did not crash or require restarts, and
68+ - No other internal errors were observed.
6469
6570## Traffic Projections
6671
@@ -90,11 +95,11 @@ Database:
9095
9196## Available reference architectures
9297
93- [ Up to 1,000 users] ( ./validated-architectures/1k-users.md )
98+ - [ Up to 1,000 users] ( ./validated-architectures/1k-users.md )
9499
95- [ Up to 2,000 users] ( ./validated-architectures/2k-users.md )
100+ - [ Up to 2,000 users] ( ./validated-architectures/2k-users.md )
96101
97- [ Up to 3,000 users] ( ./validated-architectures/3k-users.md )
102+ - [ Up to 3,000 users] ( ./validated-architectures/3k-users.md )
98103
99104## Hardware recommendation
100105
@@ -107,7 +112,7 @@ guidance on optimal configurations. A reasonable approach involves using scaling
107112formulas based on factors like CPU, memory, and the number of users.
108113
109114While the minimum requirements specify 1 CPU core and 2 GB of memory per
110- ` coderd ` replica, it is recommended to allocate additional resources depending
115+ ` coderd ` replica, we recommend that you allocate additional resources depending
111116on the workload size to ensure deployment stability.
112117
113118#### CPU and memory usage
0 commit comments