首页 > 解决方案 > Jmeter Moodle 测试最大并发使用量

问题描述

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

标签: jmeterbenchmarkingmoodlevps

解决方案


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

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

第一个也是最重要的一点是,除了用户使用服务或网站的正常负载之外,施加在服务器上的高强度负载几乎肯定会影响用户的体验,在更高的负载下他们很可能会发现自己无法完全使用网站或服务。

第二个是负载测试的行为是一种测量练习,因此服务器上的现有负载以普通用户的形式进行他们的业务,即使它可能与负载测试相比可能相对较低正在抛出,超出负载测试也正在应用的负载将丢弃负载测试试图进行的测量,并使结果不如他们可能的有用(给定用户活动的潜在未知量可能是不可预测且不易被隔离)。

鉴于您的两个 Moodle 实例都基于相同的 VPS,在您的主要生产实例正在经历其通常的用户负载时对您的开发实例执行负载测试至少会在一定程度上影响您的测量,但重要的是可能会造成一些不便或对当时正在使用您的生产实例的用户失去服务。

另一种方法可能是临时(出于测试目的)设置具有所有相同资源的相同 VPS 克隆等等,并针对它进行测试,然后停用克隆,这样您就不必为两个 VPS 支付不必要的费用。

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

希望有帮助!


推荐阅读