首页 > 解决方案 > 如何并行运行线程

问题描述

压力测试计划包含 5 个线程,见下文。

让我们考虑一个食品预订应用程序:

每个线程都需要执行前一个线程,因为它使用前一个线程的响应,并且我被要求同时运行线程 1、2、3、4,但事实是它们不能同时运行,因为线程 3 无法执行没有实际执行线程 2 等等。7.

让我添加一个真实的用例:

实际上,所有的操作都是同时发生的,但是跳过之前的线程是不能进行任何操作的。

如何更改我的脚本以适应这种类型的并行压力测试?

标签: jmeter

解决方案


不得不重新阅读你的问题几次......我想你要问的是你能运行多个“线程组”......答案是肯定的,在你的测试计划中你右键单击并添加多个线程组,每个线程组都有自己的用户旅程脚本。

至于线程组之间的依赖关系,有共享变量的选项。但是您可能需要制定逻辑并编写一些常规代码以确保数据正确流动。

您还可以查看 BlazeMeter 网站上的“如何在 JMeter 中使用线程间通信插件”:https ://www.blazemeter.com/blog/how-to-use-the-inter-thread-communication-plugin -in-jmeter


更新:在克里斯蒂安对问题进行格式化之后,似乎“线程 0-4”正在描述用户旅程。例如; 用户登录,单击菜单,添加项目 x,去结帐等。

这将记录在一个线程组中。每个调用都将提供一个服务器响应,然后可以对其进行参数化和关联,从而确保正确传递数据。“并发”将来自增加多个用户“线程”。

例如; 在此屏幕截图中,我添加了一个具有 4 个 HTTP 采样器(用户旅程)的线程组。然后将线程组设置为运行 10 个用户,在 5 分钟(300 秒)内加速,并运行 3600 秒(又名 1 小时)的持续时间。

在此处输入图像描述


推荐阅读