发表于: 2017-11-15 20:48:25
2 703
今天做的事情:
<1> 新建一个线程组,可以设置线程属性:
1. 线程数:5,5个线程也相当于5个用户访问量.
2. Ramp-Up Period(in seconds):单位是秒,默认时间为1秒。指定了启动所有线程花费的时间,比如当前配置表示“在5秒内启动5个线程,每个线程的间隔时间为1秒”。如果需要Jmeter立即启动所有线程,将此设定为0.
3.循环次数:表示每个线程执行多少次请求。
测试片段(Test Fragment):测试片段元素是控制器上的一个特殊的线程组,它在测试树上与线程组处于一个层级,与线程组不同,它不被执行,除非是一个模块控制器或者是被控制器所引用时才会被执行。
<2> 控制器:
Jmeter有两种类型的控制器,取样器(sample)和逻辑控制器(Logic Controller),用这些原件哎驱动处理一个测试。
1.取样器sample 是性能测试中想服务器发送请求,记录响应信息,记录响应时间的最小单元,Jmeter 原生支持多种不同的sample。如,HTTP, Request,Sample,FTP, Request Sampler , JDBC 等,每一种不同类型的sample可以根据设置的参数向服务器发出不同类型的请求。
在Jmeter的所有Sampler中,Java Request Sampler与BeanShell Requst Sampler是两种特殊的可定制的Sampler.
2.逻辑控制器(Logic Controller):包括两类,一类是用于控制test plan 中 sample节点发送请求的逻辑顺序的控制器,常用的有,if控制器,switch Controller, Runtime Controller,循环控制器等。另一类是用来组织可控制sample来节点,如事务控制器,吞吐量控制器。
<3> 配置元件 Config Element : 用于提供对静态数据配置的支持, CSV Data Set Config 可以将本地数据文件形式形成数据池(Data Pool), 而对应于HTTP Request Sample 和 TCP Request Sample 等类型的配置文件则可以修改Sample的默认数据。
例如,HTTP Cookie Manager 可以用于对 HTTP Request 的cookie 进行管理。HTTP请求默认值不会默认值不会触发Jmeter发送Jmeter发送http请求,而只是定义HTTP请求的默认属性。
<4> 定时器:Timer
用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段,类似于LoadRunner里面的“思考时间”,Jmeter定义了Bean Shell Timer ,固定定时器等不同类型的标签。
前置处理器(Per Processors)
前置处理器用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID 。
后置处理器(Post Processors)
后置处理器是用于对Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath Extractor 则可以用于提取响应数据中通过给定XPath 值获得的数据;正则表达式提取器,则可以提取响应数据中通过正则表达式获得的数据。
断言(Assertions)
断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。
监听器(Listener)
这个监听器可不是用来监听系统资源的元件。它是用来对测试结果数据进行处理和可视化展示的一系列元件。 图形结果、查看结果树、聚合报告、用表格察看结果都是我们经常用到的元件。
工作台:在测试中我们可能需要暂时更改一些组件,可以把一些需要更改的组件保存在工作台中,测试完成后再恢复,但是切记:不能退出jmeter.一旦退出jmeter,工作台中的内容就会消失。
了解一波之后,简单测试项目的list页面。
线程数是20个 Ramp-Up为1,循环次数是20
线程数是5个 Ramp-Up为1,循环次数是100
里面参数的含义:
#Samples 请求总数,即线程数*循环数
Average 平均请求时间,单位毫秒
Min 最小请求时间
Max 最大请求时间
Std.Dev. 方均差,(响应时间的标准方差),如果该值很大,那么Min和Max的参考意义不大
Error % 错误率
Throughput 吞吐量(每秒请求数)。可以简单的理解为,该值越大,性能越好。
Throughput = (number of requests) / (total time)
total time = 测试结束时间 - 测试开始时间
测试结束时间 = MAX(请求开始时间 + Elapsed Time)
测试开始时间 = MIN(请求开始时间)
查看TPS,也就是吞吐量,在一个叫利特尔法则在负载模型中解释为:系统内平均用户数=平均响应时间*吞吐量
虽然测试出来一些东西,但是今天没有理解很多,只能是先动手做一做。
遇到的问题:
没有把握好时间,导致步骤一并没有做完。对于一些参数还有待理解
收获:
动手测试出一些数据,对Jmeter应用有一个了解
评论