性能测试|JMeter取样器(一)

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 性能测试|JMeter取样器(一)

取样器介绍
取样器是用来模拟用户操作的,向服务器发送请求以及接收服务器的响应数据。

取样器是在线程组内部的元件,也就是说取样器只能在线程组中添加。

取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元。(取样器通常要进行这三个工作)

JMeter自带的取样器
HTTP Request:HTTP请求

Flow Control Action :测试活动

Debug Sampler :Debug取样器

JSR223 Sampler :JSR223取样器

AJP/1.3 Sampler :AJP/1.3取样器

Access Log Sampler:Access Log取样器

Bean Shell Sampler :Bean Shell取样器

FTP Request :FTP请求

JDBC Request :JDBC Request

JMS Publisher:JMS发布

JMS Point-to-Point :JMS点到点

JMS Subscriber :JMS订阅

JUnit Request :JUnit请求

Java Request :Java请求

LDAP Extended Request :LDAP扩展请求默认值

LDAP Request :LDAP请求

OS Process Sampler :OS进程取样器

SMTP Sampler :SMTP取样器

TCP Sampler :TCP取样器

Mail Reader Sampler:邮件阅读者取样器

说明:

在测试工作中用的最多的可能就是“HTTP请求”。

每一种不同类型的sampler可以根据设置的参数向服务器发出不同类型的请求。

在JMeter的所有Sampler中,Java Request Sampler与Bean Shell Sampler是两种特殊的可定制的Sampler。

总结:

取样器的作用是向服务器发送请求,记录响应信息,记录响应时间。

多个取样器按照它们在树中出现的顺序运行。

“HTTP请求”为例介绍一下取样器

在这里插入图片描述

根据上图解释说明:

(1)HTTP Request:

名称(Name):取样器名称,也就是需要访问接口的名称。

建议写成请求接口的地址,例如:/login这样在有多个取样器的时候,左侧列表就可以知道该取样器是针对哪个接口的。

注释(Comments):对当前取样器的解释说明。

(2)Web服务器:

协议<Protocol(http)>:向目标服务器发送HTTP请求时的协议,可以是http或者是https或者File ,默认值为http协议 (根据需求定)。

服务器名称或IP(Server Name or IP):HTTP请求发送目标服务器的域名或IP地址,例如www.baidu.com或者127.0.0.1。

端口号(Port Number):所访问服务器中应用所占的端口,默认80端口。

(3)HTTP请求:

1)方法(Method):

发送HTTP请求的请求方式。(可以根据接口文档获得)

请求方式包括:GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。

2)路径(Path):

目标接口的URL路径(不包括服务器地址和端口)。

也可以直接写完整路径(上面配置的IP+端口就可以省略了) ,不带参数的api路径。

3)内容编码(Content encoding):

请求数据内容的编码方式,默认值为iso8859编码,但一般content encoding配置为UTF-8,来防止中文乱码。

说明一下Content encoding属性:

Accept-Encoding和Content-Encoding是HTTP中用来对采用哪种编码格式传输正文进行协定的一对头部字段。

工作原理如下:

1、首先浏览器(也就是客户端)发送请求时,通过Accept-Encoding带上自己支持的内容编码格式列表。

2、服务端在接收到请求后,从中挑选出一种用来对响应信息进行编码,并通过Content-Encoding来说明服务端选定的编码信息。

3、浏览器在拿到响应正文后,依据Content-Encoding进行解压。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
2月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
164 3
|
3月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
122 2
|
1月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
70 3
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
53 1
|
3月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
117 10
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
2月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
79 4
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
263 7
Jmeter实现WebSocket协议的接口测试方法
|
3月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【9月更文挑战第10天】随着软件应用的不断扩展,性能测试成为确保系统稳定运行的关键环节。本文通过对比Apache JMeter和Locust,探讨了如何在Python环境中利用这两款工具挖掘更多性能测试潜力。JMeter是一款成熟且功能强大的开源工具,支持多种协议,适用于各种应用的测试;而Locust则基于Python,通过简单脚本模拟HTTP请求,更适合Web应用测试。
103 3
|
4月前
|
测试技术 持续交付 Apache
深度挖掘:Python性能测试中JMeter与Locust的隐藏技能🔍
【8月更文挑战第5天】随着软件规模扩大,性能测试对系统稳定性至关重要。Apache JMeter和Locust是两大主流工具,各有千秋。本文探索它们在Python环境下的进阶用法,挖掘更多性能测试潜力。JMeter功能强大,支持多种协议,可通过命令行模式执行复杂测试计划,并与Python集成实现动态测试数据生成。Locust基于Python,通过编写简洁脚本模拟HTTP请求,支持自定义请求及与Python库深度集成。掌握这些技巧可实现高度定制化测试场景,有效识别性能瓶颈,提升应用稳定性。
131 1
|
4月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【8月更文挑战第5天】性能测试确保应用高负载下稳定运行。Apache JMeter与Locust是两大利器,助力识别解决性能瓶颈。本文介绍这两款工具的应用与优化技巧,并通过实战示例展示性能测试流程。首先,通过JMeter测试静态与动态资源;接着,利用Locust的Python脚本模拟HTTP请求。文中提供安装指南、命令行运行示例与性能优化建议,帮助读者掌握性能测试核心技能。
136 0