转:Jmeter 用户思考时间(User think time),定时器,和代理服务器(proxy server)

摘要:
在负载测试中需要考虑的的一个重要要素是思考时间,也就是在两次成功的访问请求之间的暂停时间。Jmeter提供了一整套的计时器来模拟思考时间,但是仍旧存在一个问题::如何确定适当的思考时间呢?幸运的是,JMeter提供了一个不错的答案:使用JMeterHTTP代理服务器元件。另外,JMeter在记录操作的同时会建立一个测试计划。JMeter将会录制包括隐含字段在内的所有内容。
在负载测试中需要考虑的的一个重要要素是思考时间(think time), 也就是在两次成功的访问请求之间的暂停时间。 有多种情形挥发导致延迟的发生: 用户需要时间阅读文字内容,或者填表,或者查找正确的链接等。未认真考虑思考时间经常会导致测试结果的失真。例如,估计数值不恰当,也就是被测系统可以支持的最多用户量(并发用户)看起来好像要少一些等。
Jmeter提供了一整套的计时器(timer)来模拟思考时间(think time), 但是仍旧存在一个问题:: 如何确定适当的思考时间呢?幸运的是, JMeter 提供了一个不错的答案:使用 JMeter HTTP 代理服务器(Proxy Server)元件。

代理服务器会记录在使用一个普通的浏览器(如FireFox 或 Internet Explorer)浏览一个web应用时的操作。 另外, JMeter 在记录操作的同时会建立一个测试计划(test plan)。这个功能能提供以下便利:

不必手工建立HTTP 访问请求, 尤其是当要设置一些令人乏味的参数时(然而,非英文的参数也许不能正常工作) 。JMeter 将会录制包括隐含字段(hidden fields)在内的所有内容。

在生成的测试计划中,Jmeter会包含浏览器生成的所有的 HTTP 报头,如User-Agent (e。g。, Mozilla/4。0), 或AcceptLanguage (e。g。, zh-tw,en-us;q=0。7,zh-cn;q=0。3)等。

JMeter 会根据设置在录制操作的同时建立一些定时器,其延迟时间是完全根据真实的操作来设置的

现在让我们来看一下如何配置Jmeter的录制功能。 在JMeter 的控制台上, 在工作台(WorkBench)元件上单击右键,然后选择”add the HTTP Proxy Server “。 注意是在WorkBench 上单击右键而不是在Test Plan上, 因为现在是要为记录操作进行配置而不是要运行测试计划。HTTP Proxy Server 的实现原理就是通过配置浏览器的代理服务器而使所有的访问请求通过JMeter发送(,因而被Jmeter把访问过程录制下来)。
如图3所示, HTTP代理服务器(HTTP Proxy Server)元件的一些参数必须被配置
:
端口(port): 代理服务器的监听端口

目标控制器(Target Controller): 是代理用于存储生成的数据的控制器,默认情况下,, JMeter 将会在当前的测试计划中找一个记录用的控制器用于存储,此外也可以在下拉菜单中选择任意控制起来存储,通常默认值就可以了。

分组(Grouping): 确定在测试计划中如何来为生成的元件分组。 有多个选项, 一般可以选择“只存储每个组的第一个样本”,否则,将会原样录制URLs,包括包含图像和JavaScripts脚本的页面。当然 也可以尝试一下默认值“不对样本分组”("Do not group samples"),来看一下JMeter 建立的原版的测试计划。

包含模式(Patterns to Include) 和 排除模式(Patterns to Exclude) :帮助过滤一些不需要的访问请求。
转:Jmeter 用户思考时间(User think time),定时器,和代理服务器(proxy server)第1张

图 3。 JMeter 代理服务器(Proxy Server)。
当你点击开始(Start)按钮时,代理服务器就会开始记录所接受的HTTP 访问请求。 当然,在开始记录前,要首先设置好浏览器的代理服务器设置。在代理服务器元件中可以增加一个定时器子元件(配置元件),用于告知Jmeter来在其生成的HTTP请求中自动的增加一个定时器。Jmeter会自动把实际的延迟时间存储为一个被命名为T的Jmeter变量,因此,如果在代理服务器元件里使用了高斯随机定时器,就应该在其中的固定延迟偏移(Constant Delay Offset)设置项里添上${T}(用于自动引用纪录的延迟时间),如图4所示。这是另一个节省时间的便利特性。
转:Jmeter 用户思考时间(User think time),定时器,和代理服务器(proxy server)第2张

图 4。 在代理服务器组建中增加一个高斯随机定时器
定时器将会使相应的的取样器被延迟。 延时的规则是,在上一个访问请求被响应并延时了指定的时间后,下一个被定时器影响的取样访问请求才会被发送出去。因此, 你必须手工删除第一个取样器中自动生成的定时器,因为第一个取样器不需要定时器。

在启动HTTP代理服务器以前,要在测试计划中增加一个线程组(thread group),在线程组中增加一个录制控制器(recording controller)用于存储生成的结果。 否则, 生成的元件将会被直接添加到工作台里。另外, 在录制控制器里增加一个HTTP请求默认值元件HTTP Request Defaults 元件 (是一个配置元件) 也很重要,这样Jmeter就不填写使用了默认值的字段。

录制完成后, 停止HTTP 代理服务器; 在录制控制器元件上单击右键将记录的元件保存为一个文件用于以后重用,另外,不要忘了恢复浏览器的代理服务器设置。

免责声明:文章转载自《转:Jmeter 用户思考时间(User think time),定时器,和代理服务器(proxy server)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇怎样编写NES模拟器MarkDown添加图片的三种方式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JMeter 使用 http长连接的方法

前言 如果需要在JMeter通过http长连接发送请求,首先需要选择了Use KeepAlive 长连接协议,虽然默认是勾选的,但也需要确认一下。 除了选择了Use KeepAlive 长连接协议,还需要在Advanceed高级选项面板,选择HttpClient4类型的HttpRequest请求实现。 在即使选择了Use KeepAlive 长连接协议...

【转】jmeter 如何将上一个请求的结果作为下一个请求的参数——使用正则提取器

  1、简介   Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的...

性能测试基本概念 聚合报告指标分析

一、基本概念 1.测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器。 2.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。可以在“测试计划 ->添加->线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(...

linux 下 jmeter 配置

一、在Linux服务器先安装sdk 1、先从客户端下载jdk1.8.0_144.tar.gz,再上传到服务器 2、解压:tar -xzf jdk1.8.0_144.tar.gz,生成文件夹 jdk1.8.0_144 3、在/usr/local目录下创建java文件夹,再将 jdk1.8.0_144目录移动到/usr/local/java中 1)cd /us...

Jmeter中获取返回结果中的值

jmeter做测试中,经常会有下一个请求需要用到上一个请求的返回值,那如何取到这个返回值就显得很重要。下面有两个方法,可以按照自己的熟悉程度在测试过程中灵活使用。 1、正则表达式法       正则表达式是比较直接的获取返回值得方法,只要熟悉正则表达式,就不在话下。       使用方法是,请求右键---后置处理器---正则表达式提取器,如图       ...

CDN技术之--集群服务与负载均衡

Web集群是由多个同时运行同一个web应用的服务器组成,在外界看来就像一个服务器一样,这多台服务器共同来为客户提供更高性能的服务。集群更标准的定义是:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理,此单一系统为客户工作站提供高可靠性的服务。而负载均衡的任务就是负责多个服务器之 间(集群内)实现合理的任务分配,使这些服务器(集群)不...