@@ -5,35 +5,37 @@ without compromising service. This process encompasses infrastructure setup,
5
5
traffic projections, and aggressive testing to identify and mitigate potential
6
6
bottlenecks.
7
7
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
9
9
manage Coder workloads. Kubernetes provides container orchestration
10
10
capabilities, allowing Coder to efficiently deploy, scale, and manage workspaces
11
11
across a distributed infrastructure. This ensures high availability, fault
12
12
tolerance, and scalability for Coder deployments. Coder is deployed on this
13
13
cluster using the
14
14
[ Helm chart] ( ../../install/kubernetes.md#4-install-coder-with-helm ) .
15
15
16
+ For more information about scaling, see our [ Coder scaling best practices] ( ../../tutorials/best-practices/scale-coder.md ) .
17
+
16
18
## Methodology
17
19
18
20
Our scale tests include the following stages:
19
21
20
22
1 . Prepare environment: create expected users and provision workspaces.
21
23
22
- 2 . SSH connections: establish user connections with agents, verifying their
24
+ 1 . SSH connections: establish user connections with agents, verifying their
23
25
ability to echo back received content.
24
26
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
26
28
Terminal.
27
29
28
- 4 . Workspace application traffic: assess the handling of user connections with
30
+ 1 . Workspace application traffic: assess the handling of user connections with
29
31
specific workspace apps, confirming their capability to echo back received
30
32
content effectively.
31
33
32
- 5 . Dashboard evaluation: verify the responsiveness and stability of Coder
34
+ 1 . Dashboard evaluation: verify the responsiveness and stability of Coder
33
35
dashboards under varying load conditions. This is achieved by simulating user
34
36
interactions using instances of headless Chromium browsers.
35
37
36
- 6 . Cleanup: delete workspaces and users created in step 1.
38
+ 1 . Cleanup: delete workspaces and users created in step 1.
37
39
38
40
## Infrastructure and setup requirements
39
41
@@ -54,13 +56,16 @@ channel for IDEs with VS Code and JetBrains plugins.
54
56
The basic setup of scale tests environment involves:
55
57
56
58
1 . 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:
60
64
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.
64
69
65
70
## Traffic Projections
66
71
@@ -90,11 +95,11 @@ Database:
90
95
91
96
## Available reference architectures
92
97
93
- [ Up to 1,000 users] ( ./validated-architectures/1k-users.md )
98
+ - [ Up to 1,000 users] ( ./validated-architectures/1k-users.md )
94
99
95
- [ Up to 2,000 users] ( ./validated-architectures/2k-users.md )
100
+ - [ Up to 2,000 users] ( ./validated-architectures/2k-users.md )
96
101
97
- [ Up to 3,000 users] ( ./validated-architectures/3k-users.md )
102
+ - [ Up to 3,000 users] ( ./validated-architectures/3k-users.md )
98
103
99
104
## Hardware recommendation
100
105
@@ -107,7 +112,7 @@ guidance on optimal configurations. A reasonable approach involves using scaling
107
112
formulas based on factors like CPU, memory, and the number of users.
108
113
109
114
While 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
111
116
on the workload size to ensure deployment stability.
112
117
113
118
#### CPU and memory usage
0 commit comments