Skip to content

helm: add resources to load-test the Helm chart#19754

Merged
hugoShaka merged 2 commits intomasterfrom
hugo/helm-loadtest-resources
Jan 24, 2023
Merged

helm: add resources to load-test the Helm chart#19754
hugoShaka merged 2 commits intomasterfrom
hugo/helm-loadtest-resources

Conversation

@hugoShaka
Copy link
Copy Markdown
Contributor

This PR adds load-test resources used to load-test the Helm chart v12 changes.

It contains:

  • a node-agent Helm chart that spins a large number of ssh nodes
  • a tsh-bench-agent Helm chart that runs a few tsh bench sessions agents
  • a few guidelines on how to load-test the teleport-cluster Helm chart

I did not find any other place to put these; the agent Helm charts are not specific to the teleport-cluster Helm chart. They can be reused to set up load-test environments like in the test plan.

I also drafted a couple of Grafana dashboards, but they are not reusable enough to commit today.

Comment thread examples/load-tests/node-agent/templates/config.yaml Outdated
Comment thread examples/load-tests/README.md Outdated
Comment thread examples/load-tests/README.md Outdated
Comment thread examples/load-tests/README.md Outdated
Comment on lines +31 to +32
- "sleep"
- "10"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This will open a session execute sleep 10 and then leave the session open indefinitely. I'm not sure that is an accurate load test of N sessions. In the real world those sessions are going to be sending data back and forth in response to user/machine input. Something like while ls; do sleep 5:; done doesn't quite mimic a real user session, it does result in input and output being transferred around for the duration of the sessions.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The suggested command makes more sense. We might also want to update the testplan.

```shell
tsh bench sessions --max=5000 user ls
tsh bench sessions --max=5000 --web user ls
```

Comment thread examples/load-tests/tsh-bench-agent/templates/deployment.yaml Outdated
Comment thread examples/load-tests/values/node-agents.yaml
Comment thread examples/load-tests/fixtures/token.yaml Outdated
@hugoShaka hugoShaka requested a review from rosstimothy January 4, 2023 16:39
Comment thread examples/load-tests/values/teleport.yaml
Copy link
Copy Markdown
Contributor

@nklaassen nklaassen left a comment

Choose a reason for hiding this comment

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

This seems really handy but there a few parts of the README I would get temporarily stuck on or have to look up to remind myself, left comments on those

Comment thread examples/load-tests/README.md Outdated
Comment thread examples/load-tests/README.md Outdated
Comment thread examples/load-tests/README.md Outdated
Comment thread examples/load-tests/README.md Outdated
Comment thread examples/load-tests/README.md Outdated
Comment thread examples/load-tests/README.md Outdated
Comment thread examples/load-tests/README.md Outdated
@hugoShaka hugoShaka force-pushed the hugo/helm-loadtest-resources branch from d387d47 to c303e8a Compare January 23, 2023 21:17
@hugoShaka hugoShaka enabled auto-merge (squash) January 24, 2023 15:35
@hugoShaka hugoShaka merged commit 9262f95 into master Jan 24, 2023
@hugoShaka hugoShaka deleted the hugo/helm-loadtest-resources branch January 25, 2023 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants