Skip to content

docs: scaling Coder #5206

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

Closed
wants to merge 11 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
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
Next Next commit
docs: scaling Coder
  • Loading branch information
bpmct committed Nov 30, 2022
commit fc8839d63caf491abba1a7826c98d1b882078a6f
Empty file added docs/admin/scale/docker.md
Empty file.
37 changes: 37 additions & 0 deletions docs/admin/scale/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
We regularly scale-test Coder against various reference architectures. Additionally, we provide a [scale testing utility](#scaletest-utility) which can be used in your own environment to give insight on how Coder scales with your deployment's specific templates, images, etc.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We regularly scale-test Coder

As a customer, I'd like to reproduce Coder's results, but the doc doesn't mention the used release version. It might be good to keep the version and date of performing load tests.


## Reference Architectures

| Environment | Users | Workspaces | Last tested | Status |
| ----------------------------------------- | ----- | ---------- | ------------ | -------- |
| [Google Kubernetes Engine (GKE)](#) | 100 | 200 | Nov 29, 2022 | Complete |
| [AWS Elastic Kubernetes Service (EKS)](#) | 100 | 200 | Nov 29, 2022 | Complete |
| [Google Compute Engine + Docker](#) | 1000 | 200 | Nov 29, 2022 | Complete |
| [Google Compute Engine + VMs](#) | 1000 | 200 | Nov 29, 2022 | Complete |

## Scale testing utility

Since Coder's performance is highly dependent on the templates and workflows you support, we recommend using our scale testing utility against your own environments.

For example, this command will do the following:

- create 100 workspaces
- establish a SSH connection to each workspace
- run `sleep 3 && echo hello` on each workspace via the web terminal
- close connections, attempt to delete all workspaces
- return results (e.g. `99 succeeded, 1 failed to connect` )

```sh
coder loadtest create-workspaces \
--count 100 \
--template "my-custom-template" \
--parameter image="my-custom-image" \
--run-command "sleep 3 && echo hello" \
--connect-timeout "10s"

# Run `coder scaletest --help` for all usage
```

> To avoid user outages and orphaned resources, we recommend running scale tests on a secondary "staging" environment.

If a test fails, you can leverage Coder's [performance tracing](#) and [prometheus metrics](#) to identify bottlenecks during scale tests. Additionally, you can use your existing cloud monitoring stack to measure load, view server logs, etc.
1 change: 1 addition & 0 deletions docs/images/icons/growth.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions docs/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,12 @@
"icon_path": "./images/icons/plug.svg",
"path": "./admin/automation.md"
},
{
"title": "Scaling Coder",
"description": "Reference architecture and load testing tools",
"icon_path": "./images/icons/growth.svg",
"path": "./admin/scale/index.md"
},
{
"title": "Audit Logs",
"description": "Learn how to use Audit Logs in your Coder deployment",
Expand Down