【发布时间】:2020-04-03 10:03:55
【问题描述】:
我正在将脚本从性能中心迁移到 Jmeter5.2.1。 作为此迁移的一部分,我们使用与性能中心相同的功能流程。 我的场景包括登录到 Web 应用程序的用户执行 10-15 次迭代然后注销。
这是我的测试计划。
TestPlan
--ThreadGroup1
--Once Only Controller (login of users)
--Loop Controller (10 Iterations)
HTTP1
HTTP2
HTTP3
.
.
--Once only Controller (logout of users)
--csv Config data ( username/password)
--csv config data( unique data for the loop controller)
通过这种方法,我注意到在 Jmeter 中完成测试所花费的时间比我们在性能中心所花费的时间要多得多(我考虑了思考时间并添加了类似的值)
为什么我的测试在 Jmeter 中运行缓慢?
循环控制器是顺序的吗?意味着在给定时间它只能运行一个请求?
如果不是循环控制器,我们还有什么其他选项可以满足我的场景。
如果我包含不同的线程组,则需要跨线程组执行 JSESSIONID,这不是最佳实践。
更新:
性能中心和Jmeter设置的比较
以下是 Jmeter 中的设置。
线程组设置:
测试计划:
线程组中的 HTTP Cookie 管理器
测试计划中的 CSV 数据文件
登录和注销的仅一次计数器
用于迭代的循环控制器。
HTTP 请求默认值:(即使不检查检索所有嵌入式和并行下载,3 个用户也需要一个多小时)
性能中心结果:
每个 Sampler 都有 HTTP 标头管理器
整个测试计划
【问题讨论】:
-
JMeter 中的测试运行缓慢是什么意思?如果您要比较两个工具之间的性能结果,您还必须共享结果,而不仅仅是测试计划。 JMeter 能够尽可能快地发送请求。
标签: jmeter