Stress Testing Open On Demand Server

I am attempting to stress test an OOD platform. I am using locust to do so, but have not been able to get dummy accounts set up (yet - it would make this a lot simpler if and when that happens).

As a work around I am using my own login details, and generating multiple session cookies to authenticate each “user” (i.e. each user has a separate session). While I know this is not ideal, I have a couple of questions to gauge just how not ideal it is…

  1. Will using the same user account but different OOD sessions pose a bottleneck somewhere that will not occur if I were to use different user accounts. I am guessing probably, but it would be good for someone to confirm.

  2. In order to get a unique interactive Jupyter session I load the interactive sessions page, which can get somewhat large depending on the number of “users” (i.e. each “user” has its own session cookies, and launches its own interactove session which is then grabbed from this page). It looks like perhaps there is a timeout on the loading of the page (as the response times seems to very often hit 60 seconds and then fail). Where are the timeouts for the server to respond set, i cant seem to see it in the docs? And will this increased response time be seen by all users, or is it a bottleneck due to using different sessions for one user.

Thanks for any advice!

  1. Yes. Each user has their own Per User Nginx (PUN). So you’re always interacting with the same Nginx + Ruby on Rails stack when you use 1 single user.
  2. You’d have to increase the apache timeout which I don’t think we have documented, but the actual apache documentation would have it and yes it would affect all other users. Not sure if this is really a valid test case - most people only have 1 single interactive session going. What version are you on? We refactored this page in 4.0 to show the page without any session card immediately, then pull the cards after the page loads. I.e., do all the heavy lifting after the page loads on the client side. Not sure what the algorithm was in previous versions but IIRC it would load all the cards on page load which can be expensive especially if you have more than 2 or 3 sessions (which 2 or 3 sessions is realistically the most a user would have).

Hope that helps!