weaveworks / weave-gitops

Weave GitOps provides insights into your application deployments, and makes continuous delivery with GitOps easier to adopt and scale across your teams.
https://docs.gitops.weave.works/
Apache License 2.0
928 stars 153 forks source link

Stress Test our API #1737

Open jpellizzari opened 2 years ago

jpellizzari commented 2 years ago

We have a "demo" environment in GCP. I think the plan is to have more?

This presents an opportunity to stress test various features of our api, for example:

Steps:

This ticket can be seen through by multiple people as it runs; if you start it with step one you don't have to finish it.

Callisto13 commented 2 years ago

Set up a call with Sam/Robin and some of us to discuss what we want to test here

JamWils commented 2 years ago

I've used this tool in the past and it was really helpful https://www.artillery.io/

jpellizzari commented 2 years ago

I've used this tool in the past and it was really helpful https://www.artillery.io/

I think we would need almost the opposite of this: instead of thousands/millions of requests as a client, we need thousands of clusters+namespaces in the "database" and only a couple of client requests per second.

Or at least that is the scaling dimension that most worries me.

SamLR commented 2 years ago

I've used this tool in the past and it was really helpful https://www.artillery.io/

I think we would need almost the opposite of this: instead of thousands/millions of requests as a client, we need thousands of clusters+namespaces in the "database" and only a couple of client requests per second.

Or at least that is the scaling dimension that most worries me.

From a resilience PoV some questions I'd be interested in investigating are:

Most of the high risk scenarios I see involving the app centre around it blocking actions against kube-api during an incident or becoming a hindrance/unusable with a large number of resources to display so it feels some tooling to easily generate large numbers of resources that can be inspected via it would be useful.

this could probably be some sort of bash script which spits out large artificial flux configurations or something fancier with some basic templating/config options.

Callisto13 commented 2 years ago

@joshri would also like to know that the UI (graph) still looks pretty with a ton of crap in there

SamLR commented 2 years ago

I had a chat with @JamWils about this and I'm going to look at options for building flux bucket-sources that can be set up for a couple of basic scenarios and we can go from there.