Skip to content

Commit f105ac8

Browse files
committed
Fixes
1 parent 31f440b commit f105ac8

File tree

1 file changed

+32
-7
lines changed

1 file changed

+32
-7
lines changed

docs/admin/reference-architectures.md

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,21 @@ support successful customer deployments.
99
Let's dive into the core concepts and terminology essential for understanding
1010
Coder's architecture and deployment strategies.
1111

12-
## Glossary
12+
## General concepts
1313

1414
### Administrator
1515

1616
An administrator is a user role within the Coder platform with elevated
1717
privileges. Admins have access to administrative functions such as user
1818
management, template definitions, insights, and deployment configuration.
1919

20+
### Coder
21+
22+
Coder, also known as _coderd_, is the main service recommended for deployment
23+
with Kubernetes replicas to ensure high availability. It provides an API for
24+
managing workspaces and templates. Each _coderd_ replica has the capability to
25+
host multiple provisioners (provisionerd).
26+
2027
### User
2128

2229
A user is an individual who utilizes the Coder platform to develop, test, and
@@ -95,10 +102,28 @@ users without slowing down. This process encompasses infrastructure setup,
95102
traffic projections, and aggressive testing to identify and mitigate potential
96103
bottlenecks.
97104

105+
In our scale tests, we adopt an approach with various stages to thoroughly
106+
evaluate the system's performance. These stages include:
107+
108+
1. Prepare environment: create expected users and provision workspaces.
109+
110+
2. Dashboard evaluation: verify the responsiveness and stability of Coder
111+
dashboards under varying load conditions. This is achieved by simulating user
112+
interactions using instances of headless Chromium browsers.
113+
114+
3. SSH connections: establish user connections with agents, verifying their
115+
ability to echo back received content.
116+
117+
4. Workspace application traffic: assess the handling of user connections with
118+
specific workspace apps, confirming their capability to echo back received
119+
content effectively.
120+
121+
5. Cleanup: clean used workspace resources.
122+
98123
### Infrastructure and setup requirements
99124

100-
In a single workflow, the scale tests runner maintains a consistent load
101-
distribution as follows:
125+
In a single workflow, the scale tests runner evenly spreads out the workload
126+
like this:
102127

103128
- 80% of users open and utilize SSH connections.
104129
- 25% of users connect to the workspace using the Web Terminal.
@@ -111,7 +136,7 @@ customers.
111136
The basic setup of scale tests environment involves:
112137

113138
1. Scale tests runner: `c2d-standard-32` (32 vCPU, 128 GB RAM)
114-
2. Coderd: 2 replicas (4 vCPU, 16 GB RAM)
139+
2. Coder: 2 replicas (4 vCPU, 16 GB RAM)
115140
3. Database: 1 replica (2 vCPU, 32 GB RAM)
116141
4. Provisioner: 50 instances (0.5 vCPU, 512 MB RAM)
117142

@@ -123,9 +148,9 @@ In our scale tests, we simulate activity from 2000 users, 2000 workspaces, and
123148
2000 agents, with metadata being sent 2 x every 10 s. Here are the resulting
124149
metrics:
125150

126-
Coderd:
151+
Coder:
127152

128-
- Median CPU usage for coderd: 3 vCPU, peaking at 3.7 vCPU during dashboard
153+
- Median CPU usage for _coderd_: 3 vCPU, peaking at 3.7 vCPU during dashboard
129154
tests.
130155
- Median API request rate: 350 req/s during dashboard tests, 250 req/s during
131156
Web Terminal and workspace apps tests.
@@ -140,4 +165,4 @@ Database:
140165

141166
- Median CPU utilization: 80%.
142167
- Median memory utilization: 40%.
143-
- Average write_ops_count per minute: between 400 and 500 operations.
168+
- `write_ops_count` per minute between 400 and 500 operations.

0 commit comments

Comments
 (0)