如何在Thread Group&中对用户进行分组?用apache jmeter创建用户?

时间:2014-10-09 17:53:04

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

在我的项目(基于Web的应用程序)中,我需要测试20个网页的负载性能测试。 我有一个困惑,我怎么知道: 什么时候我需要创建下一个Thread(用户)组?和 我应该在一个线程组内创建多少个HTTP请求(页面)?

图片描述: [我带了四个Thread Group User1,User2,User3&用户4 &安培;在每个线程(用户)组内创建了两个或三个HTTP请求(网页)

enter image description here

我想知道我是否正在按照正确的方法创建用户&线程组? 这是一个正确的过程吗?因为我在某些页面中遇到错误(HttpHostConnectionException)..

请有人建议我什么是正确的过程?

提前致谢

2 个答案:

答案 0 :(得分:2)

线程是JMeter中真实用户的模拟,因此线程组包含用户完成的操作。

实际上,线程组中的采样器/请求没有限制,但为了简单起见,可读性和调试目的,建议将请求划分为逻辑上分隔的部分。对于分离请求,您有2个选项,

  1. Threadgroup:它是JMeter中为其定义线程的组件,定义了rampup,即它具有自己的属性,将由其下的所有采样器共享。 In real life it represents a process comprising of many short workflows。例如,当我说工作流程时,我的意思是登录,购物,添加到购物车,支付金钱,退出(用户的简短操作),当我处理它意味着"购买产品"其中包括以上所有
  2. 我希望这已经明确了流程和工作流程之间的区别

    1. Transaction controller:它是Threadgroup的一个小版本,它使用Threadgroup的属性,即它的父线程组。它通常用于分离作为单个过程一部分的请求/采样器。即它用于分离登录,购买产品等属于单线程组的产品
    2. 最后,Threadgroups应该用于我们想要加载测试的过程" 测试buy a product与10个用户"

      交易控制器应该用于工作流程" 登录工作流程并付钱"

      下图应该有所帮助,

      enter image description here

答案 1 :(得分:1)

Jmeter是性能测试和功能测试的优秀工具(不适用于UI验证) 它真的很容易学习,任何人都可以成为它的主人。在创建测试计划之前,请尝试了解每个元素的用途。它究竟做了什么。

线程组:

  • 这是一个模拟服务器应用程序用户数量的集合
  • 据我所知,Thread Group中的采样器/元素没有限制。

让我们考虑这种情况。

在基于网络的应用程序中,10个用户一次又一次登录并订购新产品,10个支持用户同时登录和更新现有产品。

所以,在这种情况下,我可能会创建2个线程组。一个用于订购产品,另一个用于更新现有产品。 '线程/用户数量'对于每个线程,Group应设置为10.

取样:

每个采样器都是对服务器的请求。如果您需要打20个不同的页面,则需要有20个采样器。由于它是基于Web的应用程序,因此您应该在线程组下添加HTTP采样器。

监听器:

(根据apache)监听器是显示样本结果的组件。 您已为每个采样器添加了一个侦听器。这是不正确的。您需要在测试计划级别中拥有它。 (至少线程组级别)

请参阅下面的教程。

http://www.youtube.com/watch?v=4mfFSrxpl0Y

http://www.tutorialspoint.com/jmeter/jmeter_build_test_plan.htm

&安培; Ofcourse,

http://jmeter.apache.org/usermanual/