【问题标题】:Jmeter moodle testing for max concurrent usageJmeter Moodle 测试最大并发使用量
【发布时间】:2020-02-15 15:12:29
【问题描述】:
我有一个 Moodle 站点正在运行的 VPS(4GB、4CPU、Centos)。在其域中,一个生产站点和另一个子域中的一个测试站点正常运行。
我想测试有多少并发用户可以在我的服务器上进行测验。有人告诉我 JMeter 和相关的 moodle 脚本可以做到这一点。
文档说 JMeter 测试不应该在生产服务器上进行,而只能在开发系统上进行。
我可以在同一台服务器上调用第二个moodle站点作为开发系统吗?
我需要完全不同的 vps 进行测试吗?
【问题讨论】:
标签:
jmeter
benchmarking
moodle
vps
【解决方案1】:
基本上,负载测试的方法是应用一组已知量的负载(或多个系列的负载),通常以每秒同时请求的数量来衡量,并查看您的服务器如何应对它,或者应用增加的级别一个接一个的负载,直到您的服务器不再响应,以便找出服务器可以承受的负载量。
建议不要在生产站点上执行负载测试的理由是双重的。
第一个也是最重要的一点是,除了用户使用服务或网站的正常负载之外,施加到服务器的高强度负载几乎肯定会影响用户的体验,在更高的负载下他们很可能会发现根本无法使用网站或服务。
第二个是负载测试的行为是一种测量练习,因此以普通用户的形式存在于服务器上的现有负载进行他们的业务,即使它可能相对较低负载测试正在抛出,超出负载测试也应用的负载将丢弃负载测试试图进行的测量,并使结果不如以前有用(给定用户的潜在未知量活动可能是不可预测的,并且不容易被隔离)。
鉴于您的两个 Moodle 实例都基于相同的 VPS,在您的主要生产实例正在经历其通常的用户负载时对您的开发实例执行负载测试至少会在某种程度上抛出您的测量结果,但重要的是可能会导致给当时正在使用您的生产实例的用户带来一些不便或服务损失。
另一种方法可能是临时(出于测试目的)设置具有所有相同资源等的相同 VPS 克隆,并针对该克隆进行测试,然后停用该克隆,这样您就无需支付两个不必要的 VPS。
另一种选择可能是确定您是否经常有一段时间没有用户或很少有用户尝试使用您的 Moodles,然后可能利用没有用户的时间段和/或与您的用户提前安排一段时间的维护,将您的生产 Moodle 设置为维护模式,以便没有人登录,并针对您的开发 Moodle 执行负载测试。
希望有帮助!