Jmeter基础学习和认识

上一篇 / 下一篇  2018-04-12 15:43:12 / 个人分类:jmeter基础

一、基本概念
1
测试计划是使用JMeter进行测试的起点,它是其它JMeter测试元件的容器。
2
.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。可以在测试计划->添加->线程组来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。线程组是为模拟并发负载而设计。
3
、取样器(Sampler):模拟各种请求。所有实际的测试任务都由取样器承担,存在很多种请求。如:HTTPftp请求等等。
4
、监听器:负责收集测试结果,同时也被告知了结果显示的方式。功能是对取样器的请求结果显示、统计一些数据(吞吐量、KB/S……)等。
6
、断言:用于来判断请求响应的结果是否如用户所期望,是否正确。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的。
7
、定时器:负责定义请求(线程)之间的延迟间隔,模拟对服务器的连续请求。
5
、逻辑控制器:允许自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列。
8.
配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容。
9.
前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。
二、Jmeter报告(转载)
http://www.cnblogs.com/jackei/archive/2006/11/13/558720.html

1
Aggregate Report解析

Aggregate Report
JMeter常用的一个Listener,中文被翻译为聚合报告。今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅。
如果大家都是做Web应用的性能测试,例如只有一个登录的请求,那么在Aggregate Report中,会显示一行数据,共有10个字段,含义分别如下。
Label
:每个JMeterelement(例如HTTP Request)都有一个Name属性,这里显示的就是Name属性的值

#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
Average

Average

Average:平均响应时间——默认情况下是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间
Median
:中位数,也就是50%用户的响应时间
90% Line
90%用户的响应时间
Note
:关于50%和90%并发用户数的含义,请参考下文
http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html
Min
:最小响应时间
Max
:最大响应时间
Error%
:本次测试中出现错误的请求的数量/请求的总数
Throughput
:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了Transaction Controller时,也可以表示类似LoadRunnerTransaction per Second
KB/Sec
:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
基本知识:

1
、吞吐量:是指在没有帧丢失的情况下,设备能够接受的最大速率。
2
、存储的最小单位是字节Byte,对于存储单位,有以下几个单位,GBMBKB,那么这三者之间的换算关系是:1GB1024MB1MB1024KB1KB1024Bytes
Bit
,称为bit,也就是比特,有的时候也称为位。一个字节为8位二进制表示。
Byte
字节,一个字节就是8比特。
3
Mbps (million bits per second兆位/)代表每秒传输1000000比特。该缩写用来描述数据传输速度。例如:4Mbps=每秒钟传输4M比特。
数据传输速率的单位,字母bbit)是比特和字母BByte)是字节。
4
、吞吐量与带宽的区分:吞吐量和带宽是很容易搞混的一个词,两者的单位都是Mbps.先让我们来看两者对应的英语,吞吐量:throughput ;带宽: Max net bitrate。当我们讨论通信链路的带宽时,一般是指链路上每秒所能传送的比特数。我们可以说以太网的带宽是10Mbps。但是,我们需要区分链路上的可用带宽(带宽)与实际链路中每秒所能传送的比特数(吞吐量)。我们倾向于用吞吐量一次来表示一个系统的测试性能。这样,因为实现受各种低效率因素的影响,所以由一段带宽为10Mbps的链路连接的一对节点可能只达到2Mbps的吞吐量。这样就意味着,一个主机上的应用能够以2Mbps的速度向另外的一个主机发送数据。
5
、方差和标准差都是用来描述一组数据的波动性的(集中还是分散),标准差的平方就是方差。方差越大,数据的波动越大。
三.利用BadBoy生成测试计划(测试脚本)
badBoy
可以非常容易的生成web的测试脚本。类似与LoadRunner的使用,输入站点的URL,点击Record开始录制。File –> Export to Jmeter,导出为Jmeter认识的测试脚本。
四.一个简单的测试示例思路(目前自己思路,不断改进)
a
.需要的测试脚本,对应web的应用使用badboy生成测试脚本。直接导入Jmeter,进行配置。
b
.如图
TestPlan
:是整个Jmeter测试执行的容器。
ThreadGroup
:模拟请求,定义线程数、Ramp-Up Period、循环次数。
Step1
:循环控制器,控制Sample的执行次数。
Sample
取样器:决定进行那种类型的测试,如httpftp等。
监听器:图形结果、聚合报告。
定时器:Random类型,定义线程请求的延迟。

c
.聚合报告的解释
Label
:各个模拟测试的名称
#Samples
:各个测试的样本总数
Average
:每个请求的平均响应时间
Median
:中值,即50%请求的平均响应时间
90%Line
90%请求的响应时间
Min
:最小响应时间,Max:最大的响应时间
Error%
:错误响应的概率。即无法响应的概率。
ThroughPut
:吞吐量--默认情况下表示每秒完成的请求数(Request per Second)。
KB/Sec
:每秒从服务器端接收到的数据量。


TAG:

引用 删除 sducharles   /   2018-04-14 10:10:08
5
 

评分:0

我来说两句

Open Toolbar