这是我的测试场景:
首先,我正在生成一个仅包含登录请求(例如1000个用户)的加载 . 我在我的脚本中使用"Ultimate Thread Group"和"Constant Throughput Timer" . Constant Throughput Timer Value=120/sec
被使用 . 我想运行这个测试五到十分钟 . 我的负荷将保持3分钟 .
在此测试期间(在保持负载的同时),我将从另一台计算机发送另一组登录请求(比如100个用户) . 我想测量我从不同机器生成的这100个用户登录的响应时间 .
But My Requirement is: 当我发送 100
用户登录请求时,我的上一个 1000
用户登录请求会话应该在服务器上处于活动状态 . 我还在我的登录采样器中检查了“ Use KeepAlive
” .
那么,我怎样才能做到这一点?如何确保我以前的所有登录请求会话都保存在服务器上?
测试脚本:
图1:Ultimate Thread Group的屏幕截图
图2:恒定吞吐量计时器的屏幕截图
1 回答
您需要考虑以下最终线程组的字段 -
1000个线程的关闭时间(减速时间)
保持负载 - 对于1000个线程 .
100个线程的初始延迟 . (启动脚本和第一次服务器命中之间的时间)
100个线程的启动时间 - 确保在1000个线程关闭之前100个线程上升 . 每个线程将从前一个线程开始(开始时间/开始线程计数)秒后开始 .
您需要以这样的方式配置这些值:前1000个线程不会关闭,直到所有接下来的100个用户都处于活动状态 .
您还可以使用最终线程组中提供的活动线程时间图,以查看许多线程将如何处于活动状态 .
P.S不要将线程号与请求数混淆,每个线程将在字段“Hold Load for”中创建多个秒的请求 .