在Drupal应用程序加载了50个用户的情况下,在一定时间内运行jmeter测试时发生的错误

时间:2018-08-29 13:25:10

标签: jmeter performance-testing load-testing jmeter-4.0

Jmeter 4.0版

工作案例: 使用jmeter在应用程序API上创建了性能测试。我有50个唯一的用户,加速时间为零,并且为50个用户运行了脚本,执行成功,并且没有断言失败。

不起作用的情况: 现在,我通过jmeter调度程序在开始延迟为0的情况下在15分钟的时间内运行了相同的脚本。在这种情况下,某些用户登录时脚本失败,并显示错误“ CRPF验证”。我还增加了启动延迟和启动时间,但是没有运气。 / p>

我不确定为什么会失败,因为我正确地捕获了用户令牌并将其传递给登录api。在第一种情况下工作正常,但在第二种情况下始终失败。

Drupal控制登录。

我们非常感谢您的帮助,因为我无法在一定时间内进行测试。

谢谢, 拉文德拉

1 个答案:

答案 0 :(得分:0)

在第二种情况下,您的应用程序很可能过载:

  1. Thread Group中只有1次迭代时,实际的并发用户数可能少于50,因为某些线程(虚拟用户)已经完成执行采样器而有些甚至还没有执行采样器开始了。您可以使用Active Threads Over TimeJMeter Reporting Dashboard侦听器或等效图表来仔细检查实际的并发性。如果需要,请参见JMeter Test Results: Why the Actual Users Number is Lower than Expected文章以获取更多详细说明。
  2. 当您运行测试15分钟时,所有50个用户同时在线,因此可能会中断您的应用程序。您可以通过将以下两行添加到user.properties文件中来暂时启用保存响应数据以进行调试的目的:

    jmeter.save.saveservice.output_format=csv
    jmeter.save.saveservice.response_data=true
    

    并使用View Results Tree侦听器检查失败的采样器的响应详细信息,有可能系统在负载下没有返回CSRF令牌。