最大并发使用的 Jmeter moodle 测试

Jmeter moodle testing for max concurrent usage

我有一个 VPS,moodle 网站正在运行(4GB,4CPU,Centos)。在其域中,一个生产站点和另一个子域中的一个测试站点可以正常运行。 我想测试有多少并发用户可以在我的服务器上参加测验。有人告诉我 JMeter 和相关的 moodle 脚本可以做到这一点。 文档说 JMeter 测试不应该在生产服务器上进行,而只能在开发系统上进行。 我可以在与开发系统相同的服务器上调用第二个 moodle 站点吗?
我需要完全不同的 vps 进行测试吗?

从本质上讲,负载测试的方法是应用一组已知的负载量(或串联的多组),通常以每秒同时请求的数量来衡量,并查看您的服务器如何应对它,或者应用一个接一个地增加负载级别,直到您的服务器不再响应,以便找出服务器可以承受的负载量。

不在生产站点上执行负载测试的建议背后的理由是双重的。

首先也是最重要的一点是,除了用户使用服务或站点的正常负​​载之外,施加到服务器的高强度负载几乎肯定会影响用户的体验,并且在更高的负载下,他们可能会很好发现他们根本无法使用网站或服务。

第二个是负载测试是一种测量练习,因此服务器上的现有负载以普通用户的形式出现,尽管相比之下它可能相对较低随着负载测试的结果,超出负载测试也正在应用的负载将丢弃负载测试试图进行的测量,并使结果不如它们可能有用(可能未知的数量)给定的用户 activity 可能无法预测并且不容易被隔离。

鉴于您的两个 Moodle 实例都基于相同的 VPS,在您的主要生产实例正在经历其通常的用户负载时对您的开发实例执行负载测试至少会在某种程度上抛出您的测量,但重要的是,这可能会给当时正在使用您的生产实例的用户带来一些不便或服务中断。

另一种方法是暂时(出于测试目的)使用所有相同的资源等设置 VPS 的相同克隆,然后针对它进行测试,然后停用该克隆,以便您不必为两个 VPS 付费。

另一种选择可能是确定是否经常有一段时间没有用户或用户很少尝试使用您的 Moodles,然后也许可以利用没有用户的时间段 and/or 提前与您的用户安排一段时间的维护,将您的生产 Moodle 设置为维护模式,这样就没有人登录,并对您的开发 Moodle 执行负载测试。

希望对您有所帮助!