Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing JMeter如何在另一个页面打开时测试页面加载性能_Testing_Jmeter_Performance Testing_Stress Testing_Jmeter 3.2 - Fatal编程技术网

Testing JMeter如何在另一个页面打开时测试页面加载性能

Testing JMeter如何在另一个页面打开时测试页面加载性能,testing,jmeter,performance-testing,stress-testing,jmeter-3.2,Testing,Jmeter,Performance Testing,Stress Testing,Jmeter 3.2,我想知道是否有一种方法可以在jmeter中测试以下场景: 站点:一个站点有两个页面,其中一个(我们称之为重页面),加载完成后,会消耗大量系统资源(cpu),另一个不会(我们称之为轻页面) 模拟1000个用户(线程)加载并停留在沉重的页面上 当这1000个用户仍然在重页面上时,让另一组1000个用户加载轻页面 关键问题是,如何让第一组线程模拟用户在页面加载完成后留在页面上,而让另一组用户加载轻页面 目前我有这样的想法: Group1 (1000 threads, loop count 1): -

我想知道是否有一种方法可以在jmeter中测试以下场景:

站点:一个站点有两个页面,其中一个(我们称之为重页面),加载完成后,会消耗大量系统资源(cpu),另一个不会(我们称之为轻页面

  • 模拟1000个用户(线程)加载并停留在沉重的页面上
  • 当这1000个用户仍然在重页面上时,让另一组1000个用户加载轻页面
  • 关键问题是,如何让第一组线程模拟用户在页面加载完成后留在页面上,而让另一组用户加载轻页面

    目前我有这样的想法:

    Group1 (1000 threads, loop count 1):
     - Runtime controller (set to 5min, so each thread runs for 5 minutes):
       - heavy-page
    Group2: (1000 threads, loop count 1, and a startup delay set to 2 minutes, so it starts after all threads in Group1 are running)
     - light-page
    
    这几乎满足了我的所有要求,除了我看到沉重的页面发送了比我预期的多得多的请求(远远超过1000),就像它没有识别G1中设置为1的循环计数一样。我不确定这背后的原因是否是因为采样器/线程在运行时控制器内,它只是在控制器设置的时间内永远循环,这意味着(我认为)用户不只是在页面上停留5分钟,而是在页面加载后一个接一个地发送请求,这不是我需要测试的

  • 在您的设置中,用户不是“停留”在“沉重的页面”,而是一次又一次地重新打开它。运行时控制器不考虑循环计数,它在指定的持续时间内运行其子项

  • 根据:

    JMeter不是浏览器,它在协议级别工作。就web服务和远程服务而言,JMeter看起来像一个浏览器(或者更确切地说,是多个浏览器);但是JMeter并不执行浏览器支持的所有操作。特别是,JMeter不执行HTML页面中的Javascript。它也不会像浏览器那样呈现HTML页面(可以以HTML等形式查看响应,但计时不包括在任何示例中,一次只显示一个线程中的一个示例)

  • JMeter的采样器不会“停留”在页面上,它们执行请求,检索响应,测量所用的时间,如果没有更多的采样器要执行,循环迭代线程,那么线程将被关闭。如果在“繁重”页面上发生背景事件,如AJAX请求或WebSocket请求,则需要使用或模拟它们