Skip to content

feat: coderd resource recommendations #881

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Mar 8, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 31 additions & 6 deletions setup/requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,38 @@ description: Learn about the prerequisite infrastructure requirements.
Coder is deployed onto Kubernetes clusters, and we recommend the following
resource allocation minimums to ensure quality performance.

For **basic control services**, allocate at least 2 CPU cores, 4 GB of RAM, and
20 GB of storage.
## Compute

For the Coder control plane (which consists of the `coderd` pod and any
additional replicas) allocate at least 2 CPU cores, 4 GB of RAM, and 20 GB of
storage.

In addition to sizing the control plane node(s), you can configure the `coderd`
pod's resource requests/limits and number of replicas in the Helm chart. The
current defaults for both CPU and memory are the following:

```yaml
resources:
requests:
cpu: "250m"
memory: "512Mi"
limits:
cpu: "250m"
memory: "512Mi"
```

By default, Coder is a single-replica deployment. For production systems,
consider using at least three replicas to provide failover and load balancing
capabilities.

If you expect roughly ten or more concurrent users, we recommend increasing
these figures to improve platform performance (we also recommend regular
performance testing in a staging environment).

For **each** active developer using Coder, allocate additional resources. The
specific amount required per developer varies, though we recommend
starting with 4 CPUs and 16 GB of RAM, then iterating as needed. Developers are
free to request the resource allocation that fits their usage:
specific amount required per developer varies, though we recommend starting with
4 CPUs and 16 GB of RAM, then iterating as needed. Developers are free to
request the resource allocation that fits their usage:

![Workspace resource request](../assets/setup/resource-request.png)

Expand All @@ -21,7 +46,7 @@ to determine whether you should change your resource allocation. Accepting a
utilization of RAM of around 50% and CPU of around 70% is a good way to balance
performance with cost.

### Throughput
## Throughput

We recommend the following throughput:

Expand Down