3

I have a VPS where a moodle site is working (4GB, 4CPU,Centos). In its domain a production site and another subdomain a test site is functional. I would like to test how many concurrent users can take a quiz on my server. I was told about JMeter and related moodle scripts to do that. The documentation says JMeter test should not be conducted on a production server but only on development system. Can I call the second moodle site on same server as a development system?
Do I need completely different vps for testing?

Russell England
  • 9,436
  • 1
  • 27
  • 41
Shiva
  • 148
  • 9

1 Answers1

3

Essentially, the approach in load testing is to either apply a set known amount of load (or multiple sets in series), usually measured in number of simultaneous requests per second and see how your server copes with it, or apply increasing levels of load one after the other until your server no longer responds in order to find up to which amount of load the server can withstand.

The rationale behind the recommendation that load testing not be performed on production sites are twofold.

The first and most important is that the high intensity load applied to the server in addition to the normal load of users making use of the service or site will almost certainly impact the experience of users and under higher loads they may well find they are unable to use the site or service at all.

The second is that with the act of load testing is a measurement exercise, thus with existing load on a server in the form of the usual users going about their business, even though it may be possibly be comparatively low in contrast with what the load test is dishing out, that load over and above what the load test also is applying will throw out the measurement the load test is attempting to make and render the results less useful than they may have been (by a potentially unknown amount given user activity can be unpredictable and not easily able to be isolated).

Given both your Moodle instances are based on the same VPS, performing a load test on your development instance while your main production instance is experiencing its usual user load would throw of your measurement somewhat at the very least, but importantly would likely cause some inconvenience or loss of service to your users who are making use of your production instance at the time.

An alternative could be to temporarily (for the purpose of the test) set up an identical clone of the VPS with all the same resources and so forth and test against that, decommissioning the clone afterwards so you're not paying for two VPSs unnecessarily.

Another alternative could possibly be perhaps to determine if there are periods of time regularly that you have no users, or very few users, attempting to use your Moodles, and then perhaps either taking advantage of a period with no users and/or scheduling a period of maintenance ahead of time with your users, setting your production Moodle to maintenance mode so no one logs in, and perform the load test against your development moodle.

Hope that helps!

MattG
  • 56
  • 3