Testing multi-user environment. #2713
-
I want to create jupyterLab severs for each of my 40 students. How can I simulate this environment and test if my infra would be able to handle the load? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 3 replies
-
Hi @apurv-choudhari, unfortunately, we don't have an easy way to load test a Nebari deployment for many users. That said it would be useful feature for validating a deployment readiness for situations like yours and we'd likely be able to guide you with a PR if you're interested in contributing. We did have a former Quansight contributor who used https://github.com/Quansight/jhub-client to do something similar to what you're attempting, but we don't have any docs specific to Nebari. I would start by taking a look at that. One issue we've seen with new cloud accounts with many users is you'll likely hit the default quota limits for several quotas such as number of VMs able to be spun up concurrently, and you'll need to increase those limits as you hit them. e.g.https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html |
Beta Was this translation helpful? Give feedback.
-
@apurv-choudhari while we don't have load tests yet, you could use https://k6.io/ to write custom tests (e.g., user log-in, environment creation, server launching, and notebook running) and run them for multiple users at once. Where are you planning to deploy this? And do you have a rough idea on what resources you'll have available? We know a couple persons that have used Nebari to teach courses for 20-40 students at a time. We've also used Nebari to run tutorials at conferences with up to 80 concurrent users. So depending on the resources you can use, having 40 students spin their own servers should be completely feasible. |
Beta Was this translation helpful? Give feedback.
-
Closing for now, feel free to reopen if needed. |
Beta Was this translation helpful? Give feedback.
t3.micro
instances may or may not be sufficient, depending on what you plan to have the students run on their servers. As for using the keycloak API to create users and using the start all button to start all the servers at the same time, that should work just fine. Make sure you are not exceeding your vCPUs quota, though. Otherwise, some of the servers might fail to launch. I think this is good for an initial test, but you might want to include running some notebooks to see if the instance type is going to be enough for the kind of work you expect to do.Let me know if there's anything we can help you with.