| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> jmeter的基础讲解 -> 正文阅读 |
|
[网络协议]jmeter的基础讲解 |
简单的模拟性能测试
练习:模拟多用户访问百度网址
1
:线程组
作用:模拟虚拟用户
进程: 一个正在执行的程序对应一个进程
线程: 一个进程有多个执行线程
线程组: 按照线程性质对线程分组
三者关系: 一个进程有多个线程组,一个线程组有多个线程
操作:在测试计划>>添加>>Threads>>线程组?
6.1.1.
线程组主要包含三个参数:线程数、准备时长
(Ramp-Up Period(in seconds))
、循环次数。
6.1.2.
线程数:虚拟用户数。一个虚拟用户占用一个线程。设置多少虚拟用户数在这里也就是设置多少个
线程数。
6.1.3.
准备时长(秒):设置的虚拟用户数需要多长时间全部启动。如果线程数为
20
,准备时长为
10
,那么需要
10
秒钟启动
20
个线程。也就是每秒钟启动
2
个线程。
6.1.4.
循环次数:每个线程发送请求的次数。如果线程数为
20
,循环次数为
100
,那么每个线程发送
100
次请求。总请求数为
20*100=2000
。如果勾选了
“
永远
”
,那么所有线程会一直发送请求,一到选择停止
运行脚本。
6.1.5.
调度器:设置线程组启动的开始时间和结束时间
(
配置调度器时,需要勾选循环次数为永远
)
6.1.6.
持续时间(秒):测试持续时间
6.1.7.
启动延迟(秒):测试延迟启动时间
2:sampler(采样器)作用:向服务器发送请求,记录响应信息,记录响应时间的最小单元(http,https,ftp,jdbc等) 操作:在线程组>>添加>>sampler>>http请求(常用) ? ?
一个
HTTP
请求有着许多的配置参数,下面将详细介绍:
名称:本属性用于标识一个取样器,建议使用一个有意义的名称。
注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。
服务器名称或
IP
:
HTTP
请求发送的目标服务器名称或
IP
地址。
端口号:目标服务器的端口号。
方法:发送
HTTP
请求的方法,可用方法包括
GET
、
POST
、
HEAD
、
PUT
、
OPTIONS
、
TRACE
、
DELETE
等。
Content encoding
:内容的编码方式,默认值为
iso8859
路径:目标
URL
路径
(
不包括服务器地址和端口
)
注意事项:
1
:参数传递中
Parameters
和
BodyData
不能同时使用,必须要保证其中至少一个为空,否则提示错误
2
:在传递的参数中,接口参数名和参数值两边不能有空格,否则会报错
3
:监听器
作用
:
监听器可以动态的监控
JMeter
测试执行的过程
,
实时查看测试结果
操作:在线程组
>>
添加
>>
监听器
>>
聚合报告
/
查看结果树
?
通过察看结果树,我们可以看到每个请求的结果,其中红色的是出错的请求,绿色的为通过
Thread Name
:线程组名称
Sample Start:
启动开始时间
Load time
:加载时长
Latency
:等待时长
Size in bytes
:发送的数据总大小
Headers size in bytes
:发送数据的其余部分大小
Sample Count
:发送统计
Error Count
:交互错误统计
Response code
:返回码
Response message
:返回信息
Response headers
:返回的头部信息
? ?
lable
:对应每一个
http
请求,显示的是
http
请求的
Name
,如百度
http
请求
name
为
baidu
#Samples
:表示这一次的测试中一共发出了多少请求,如上图所示,
sougou
和
baidu
的
http
请求
每个都发出
30
个请求
Average
:平均响应时间,指的是所有的请求的平均响应时间,如上图的
30
个请求的总的响应时间
除以
30
得出的平均响应时间,默认的情况下是单个请求的平均响应时间,但当使用了
“
事务控制器
”
时,则以事物为单位显示平均响应时间
Median
:中位数,也就是
50%
用户的响应时间
90%Line
:
90%
用户的响应时间
Min
:最小响应时间
Max
:最大的响应时间
Error%
:本次测试中出现错误的请求的数量
/
请求的总数,如上图所示,本次的测试中,
sougou
的
http
请求
66.6%
的请求出错,而
baidu
的请求则没有出错的请求
Throughput
:吞吐量,默认情况下表示每秒完成的请求数,如上图所示,每秒完成的请求数分别
为
6.6
个每秒,
6.2
个每秒
Recived KB/Sec
:每秒从服务器端接收到的数据量,以
kb
为计算的单位
jmeter
中插件的讲解
1
:
jmeter
组件描述
1
.测试计划是使用
JMeter
进行测试的起点,它是其它
JMeter
测试元件的容器。
2
.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。
3
、取样器(
Sampler
):模拟各种请求。所有实际的测试任务都由取样器承担,存在很多种请求。
如:
HTTP
、
ftp
请求等等。
4
、监听器:负责收集测试结果,同时也被告知了结果显示的方式。功能是对取样器的请求结果显
示、统计一些数据(吞吐量、
KB/S……
)等。
6
、断言:用于来判断请求响应的结果是否如用户所期望,是否正确,非常实用
7
、定时器:负责定义请求(线程)之间的延迟间隔,模拟对服务器的连续请求。
5
、逻辑控制器:允许自定义
JMeter
发送请求的行为逻辑,它与
Sampler
结合使用可以模拟复杂的
请求序列。
8.
配置元件维护
Sampler
需要的配置信息,并根据实际的需要会修改请求的内容。
9.
前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的
设置,后置处理器则常常用来处理响应的数据。
作用:断言
(Assertions)
可以用来判断响应的数据是否符合预期
响应断言
操作:在线程组
>>
添加
>>
断言
>>
响应断言
? ?json断言
操作:在线程组
>>
添加
>>
断言
>>json
断言
? ? ?Xpath断言
定义
:Xpath
即为
XML
路径语言,它是一种用来确定
XML
文档中某部分位置的语言。
xpath
基于
XML
的树状结
构,提供在数据结构树中寻找节点的能力
操作:在线程组
>>
添加
>>
断言
>>xpath
断言
? ? ?
区别:响应断言(适用任何的返回类型)
,json
断言(只适用于
json
的返回类型)
,Xpath Assertion
断言
针对返回信息为
Xpath
的数据类型进行断言
定时器
定时器
(Timer)
负责定义请求之间的延迟间隔
操作:在线程组
>>
添加
>>
定时器
>>
固定定时器
? ? ?逻辑控制器 事务控制器
操作:在线程组
>>
添加
>>
逻辑控制器
>>
事务控制器
? ? ?循环控制器 操作:在线程组>>添加>>逻辑控制器>>循环控制器 ? ? ? ? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/29 11:33:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |