roocs / 34e-mngmt

Management of 34e
BSD 2-Clause "Simplified" License
0 stars 0 forks source link

Can we do any load-testing before launch? #91

Closed agstephens closed 3 years ago

agstephens commented 3 years ago

@cehbrecht Can you think of any simple way we can do some load-testing before launch?

E.g.:

cehbrecht commented 3 years ago

I looked already at: https://locust.io/

Looks easy ... and my test server survived the tests 😄

We can add a test-suite for this to rook ...

agstephens commented 3 years ago

Hi @cehbrecht how much work do you think this would take? Here is a previous locust-based benchmarker I wrote for another project: https://github.com/glamod/glamod-wfs-benchmarker

I suspect it would take us a week to build something.

cehbrecht commented 3 years ago

I can add a locust test to rook this week ... we can improve it later. But should be fine for an initial test run.

agstephens commented 3 years ago

Hi @cehbrecht, what results did you get from the locust test?

cehbrecht commented 3 years ago

I have defined locust tests: https://github.com/roocs/rook/tree/master/tests/storm

Run:

locust -f tests/storm/locustfile.py

And select the rook server to test in the web interface: http://0.0.0.0:8089 (If running on a Vagrant VM - you can typically view this via the private IP of the VM rather than 0.0.0.0).

The old VM (8CPUs, 16GB) could barely hold one 1 user. The new one (32CPUs, 128GB) survives 5-10 concurrent users.

There are settings in locust to tune ... and test-cases to define ... short/long-running processes.