【发布时间】:2016-11-02 16:36:14
【问题描述】:
我是 Jmaeter 的新手,目前正试图充分利用它来创建 API 性能测试计划。
让我们来看看下面的场景。
我们有一个 API,它返回诸如零件可用性和一个或多个零件的订单详细信息等数据。
我想分析一下不同负载模式下api的响应时间。
假设我们有 5 个用户。 - 每个用户向 API 发送一系列重复的请求。 - 每个用户发出的请求仅对该用户唯一。 IE 用户 1 请求 a、b、c 部分。 用户 2 请求部分 d,e,f... 等等
-所有用户同时处理他们的请求。
我解决这个问题的方法是为每个用户创建 5 个单独的线程组。 每个线程组中都有每个用户发送的特定 http 请求。 每个 http 请求都由它自己的循环控制器管理,我在其中设置了每个请求的发送次数
因为我希望所有用户都同时发送他们的请求,所以我取消选中 在主测试计划中“连续运行线程组”。乍一看,测试计划看起来像这样: test plan view
由于我是使用 Jmeter 和性能测试的新手,我对我的方法有一些疑问:
在增加我可能希望与之测试的用户数量方面,我构建测试计划的方式是否合适且可维护? 还是拥有一个包含 5 个子循环控制器的单个线程组会更好,每个子循环控制器都包含用户特定的请求正文数据?
在我当前的设置下,每个线程组都使用 1 秒的默认加速时间。我认为这没关系,因为每个线程组只代表一个用户。但是我认为这可能会导致每次测试运行的启动延迟。是否有任何其他可能更好的方法来处理这个问题,例如使用调度程序或增加每个线程组的加速时间,以便它们不会在完全相同的时间启动?
提前感谢您的任何建议
【问题讨论】:
标签: multithreading jmeter performance-testing