jav*_*Man 5 java web-applications jmeter load-testing
我最近开始加载测试我的webapp.
我用apache访问日志采样器.我按照本教程.
https://jmeter.apache.org/usermanual/jmeter_accesslog_sampler_step_by_step.pdf
我能够使它工作.但现在问题是我在不到10分钟的时间内重播了所有的请求.
我希望jmeter根据发布get请求的时间戳运行get请求.
我无法在线找到任何此类配置.
我可以编写脚本来卷曲特定时间戳的get请求.但我想用jmeter.
可能吗.
编辑
我创建了一个带有以下行的示例csv文件:
0,/myAPP/home
5000,/myAPP/home
5000,/myAPP/home
Run Code Online (Sandbox Code Playgroud)
首先我创建了一个线程组,如图所示:

在这里,我永远选择循环计数.如果未选中,则只有csv文件中的第一行正在运行.这些行没有运行.
现在我添加了csv数据集配置,如图所示:

现在我添加了常量计时器,如图所示:

现在我添加了HTTP请求,如图所示:
我添加了视图结果树监听器并点击了播放按钮.
当我看到每个样本的视图结果树中的示例开始时,延迟不是根据csv文件中存在的延迟.我究竟做错了什么.
EDIT2 我将常量计时器作为HTTP请求的子进程.请在下面的屏幕截图中找到请求的时间.你看错了吗?

EDIT3
我遵循bean shell timre方法,当延迟大于之前的响应时间时,它工作正常.但是,当前一个响应时间大于延迟时,它无法正常工作.
我修改了csv文件如下(减少延迟到100毫秒)
0,/myAPP/home
100,/myAPP/home
100,/myAPP/home
Run Code Online (Sandbox Code Playgroud)
我删除了常量计时器并添加了下面的bean shell计时器.

这是结果表:

这些是日志行:

开箱即用的访问日志采样器不适用于您尝试执行的操作.
您有两种选择:
1 - 在Jmeter之外进行所有处理工作并创建一个包含两个字段的CSV文件:URL和Delay,然后使用CSV数据集配置.
Youtube JMeter CSV教程:http://www.youtube.com/watch?v = aEJNc3TW-g8
2 - 在JMeter中进行处理.如果您是Java开发人员,则可以编写beanshell脚本来读取文件并解析URL和时间戳并计算延迟.
这是一个例子:
如何从.csv文件中读取字符串并将其拆分?
编辑1
使用您的问题和屏幕截图中的数据看起来一切正常.关于JMeter延迟的一些事情(使用定时器).
- JMeter将在请求之后(而不是之前)添加延迟 - Jmeter将
在服务器完成响应后启动延迟.
在你的情况下(我四舍五入到最接近的秒):
在12:59:53的初始请求
+请求花了24.5秒
+ 0秒延迟
=下一个请求应该在13:00:18,这确实是在下一个请求发生时.
第二次请求在13:00:18
+请求花费1.8秒
+ 5秒延迟
=下一个请求应该在13:00:25,这确实是在下一个请求发生时.
我想你想要的是下一个请求不会影响响应时间.另外,你需要创建$ {delay}的延迟 - $ {responseTime}
编辑2
为了创建一个延迟,该延迟将考虑响应时间,您需要使用beanshell计时器而不是常量计时器.
这是代码(把它放在beanshell计时器的脚本部分):
rtime = Integer.parseInt(String.valueOf(prev.getTime())); // on first run will raise warning
delay = Integer.parseInt(vars.get("delay"));
Integer sleep = delay - rtime;
log.info( "Sleep for " + sleep.toString() + " milli-seconds" );
return sleep;
Run Code Online (Sandbox Code Playgroud)
编辑3
如果response_time> desired_delay怎么办?
如果睡眠计算小于零,则不会有任何中断.它只会睡眠零毫秒.
如果现有请求尚未完成,则只有一个线程无法发出额外请求.从技术上讲,当一个线程不足以保持确切的延迟时,应该可以让不同的线程开始发出请求,但这需要内部线程通信,这可能非常快速地变得非常混乱并且需要beanhell脚本.
| 归档时间: |
|
| 查看次数: |
2663 次 |
| 最近记录: |