百日筑基第五十九天-本地压测工具了解一下

百日筑基第五十九天-本地压测工具了解一下

JMeter 快速入门

Jmeter 是一款使用 Java 开发的功能和性能测试软件。

工作原理是仿真用户向服务器发送请求,并收集服务器应答信息并计算统计信息。

Jmeter 的主要元素如下:

  • 测试计划(Test Plan) - 可以将测试计划视为 JMeter 的测试脚本 。测试计划由测试元素组成,例如线程组,逻辑控制器,样本生成控制器,监听器,定时器,断言和配置元素。
  • 线程组(Thread Group)- 线程组的作用是:模拟大量用户负载的运行场景。
    • 设置线程数
    • 设置加速期
    • 设置执行测试的次数
  • 控制器(Controllers)- 可以分为两大类:
    • 采样器(Sampler) - 采样器的作用是模拟用户对目标服务器发送请求。 采样器是必须将组件添加到测试计划中的,因为它只能让 JMeter 知道需要将哪种类型的请求发送到服务器。 请求可以是 HTTP,HTTP(s),FTP,TCP,SMTP,SOAP 等。
    • 逻辑控制器 - 逻辑控制器的作用是:控制多个请求发送的循环次数及顺序等。
  • 监听器(Listeners) - 监听器的作用是:收集测试结果信息。如查看结果树、汇总报告等。
  • 计时器(Timers) - 计时器的作用是:控制多个请求发送的时间频次。
  • 配置元素(Configuration Elements) - 配置元素的工作与采样器的工作类似。但是,它不发送请求,而是提供预备的数据等,如 CSV、函数助手。
  • 预处理器元素(Pre-Processor Elements) - 预处理器元素在采样器发出请求之前执行,如果预处理器附加到采样器元素,那么它将在该采样器元素运行之前执行。预处理器元素用于在运行之前准备环境及参数。
  • 后处理器元素(Post-Processor Elements) - 后处理器元素是在发送采样器请求之后执行的元素,常用于处理响应数据。

快速创建:

右键点击 "测试计划” → “添加” → “线程(用户)” → “线程组”

在这里插入图片描述

在这里插入图片描述

线程组主要参数详解:

  1. 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。模拟多少用户访问也就填写多少个线程数量。
  2. Ramp-Up时间(秒):设置的虚拟用户数需要多长时间全部启动。如果线程数为100,准备时长为5,那么需要5秒钟启动100个线程,也就是每秒钟启动20个线程。 相当于每秒模拟20个用户进行访问,设置为零我理解为并发访问。
  3. 循环次数:如果线程数为100,循环次数为100。那么总请求数为100*100=10000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。
右键点击 “你的线程组” → “添加” → “取样器” → “HTTP请求”

在这里插入图片描述

在这里插入图片描述

填写接口

Http请求主要参数详解(做过接口测试的应该上手很快):

  • 协议:向目标服务器发送HTTP请求协议,可以是HTTPHTTPS,默认为HTTP
  • 服务器名称或IP :HTTP请求发送的目标服务器名称或IP
  • 端口号:目标服务器的端口号,默认值为80
  • 方法:发送HTTP请求的方法,可用方法包括GETPOSTHEADPUTOPTIONSTRACEDELETE等。
  • 路径:目标URL路径(URL中去掉服务器地址、端口及参数后剩余部分)。
  • 内容编码:编码方式,默认为ISO-8859-1编码,这里配置为utf-8
  • 参数:同请求一起发送参数 ,在请求中发送的URL参数,用户可以将URL中所有参数设置在本表中,表中每行为一个参数(对应URL中的 key=value),注意参数传入中文时需要勾选“编码”。
右键点击 “你的线程组” → “添加” → “监听器” → “察看结果树”

在这里插入图片描述

在这里插入图片描述

右键点击 “你的线程组” → “添加” → “监听器” → “聚合报告”,用以存放性能测试报告

在这里插入图片描述

性能测试

在这里插入图片描述

在这里插入图片描述

聚合报告参数详解:

  1. Label:每个 JMeterelement(例如我这里只有一个 Spring WebFlux)都有一个 Name 属性,这里显示的就是 Name 属性的值。
  2. 样本(Samples):请求数——表示这次测试中一共发出了多少个请求,我这里模拟了100个用户循环6次也就为100*6=600
  3. 平均值(Average):平均响应时间(单位:ms)。默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以是Transaction为单位显示平均响应时间。
  4. 中位数(Median):也就是 50% 用户的响应时间。
  5. 90% 百分位(Line):90% 用户的响应时间。相邻几个*%同意。
  6. 最小值(Min):最小响应时间。
  7. 最大值(Max):最大响应时间。
  8. 异常(Error) %:错误率——错误请求数/请求总数。
  9. 吞吐量(Throughput):吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunnerTransaction per Second 数 。
  10. 接收 KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
  11. 发送 KB/Sec:每秒向服务器发送的数据量,相当于LoadRunner中的Throughput/Sec
【基本介绍】 Apache JMeter 是100%的Java桌面应用程序。用于对软件做压力测试(例如Web应用)。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。   另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。 【软件特点】   在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录IE/NETSCAPE的HTTP请求,也可以记录apache等WebServer的log文件来重现HTTP流量。当这些HTTP客户端请求被记录以后,测试运行时可以方便的设置重复次数和并发度(线程数)来产生巨大的流量。JMeter还提供可视化组件以及报表工具把量服务器在不同压力下的性能展现出来。   相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强。JMeter能够自动扫描其lib/ext子目录下.jar文件中的插件,并且将其装载到内存,让用户通过不同的菜单调用。   测试结果字段的意义   1、Label: 定义的HTTP请求名称   2、Samples: 表示这次测试中一共发出了多少个请求   3、Average: 访问页面的平均响应时间   4、Min: 访问页面的最小响应时间   5、Max: 访问页面的最大响应时间   6、Error%: 错误的请求的数量/请求的总数   7、Throughput:每秒完成的请求数   8、KB/Sec: 每秒从服务器端接收到的数据量
Apache JMeter (apache-jmeter-5.4.3.zip)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。 Apache JMeter 功能包括: 能够加载和性能测试许多不同的应用程序/服务器/协议类型: 网络 - HTTP、HTTPS(Java、NodeJS、PHP、ASP.NET,...) SOAP/REST 网络服务 FTP 通过 JDBC 数据库 LDAP 通过 JMS 的面向消息的中间件 (MOM) 邮件 - SMTP(S)、POP3(S) 和 IMAP(S) 本机命令或 shell 脚本 TCP Java 对象 全功能测试 IDE,允许快速记录测试计划(来自浏览器或本机应用程序)、构建和调试。 CLI 模式(命令行模式(以前​​称为非 GUI)/无头模式)从任何 Java 兼容操作系统(Linux、Windows、Mac OSX 等)加载测试 完整且可随时呈现的动态 HTML 报告 通过从最流行的响应格式、HTML、JSON、 XML或任何文本格式中提取数据的能力轻松关联 完全可移植性和100% Java 纯度。 完整的多线程框架允许多个线程并发采样和不同线程组同时采样不同功能。 缓存和离线分析/重放测试结果。 高度可扩展的核心: 可插拔采样器允许无限的测试功能。 可编写脚本的采样器(与 JSR223 兼容的语言,如Groovy和 BeanShell) 可以使用可插拔计时器选择多个负载统计信息。 数据分析和可视化插件允许极大的可扩展性和个性化。 函数可用于为测试提供动态输入或提供数据操作。 通过适用于 Maven、Gradle 和 Jenkins 的第3方开源库轻松实现持续集成。
Apache JMeter (apache-jmeter-5.4.3.tgz)可用于测试静态和动态资源、Web 动态应用程序的性能。 它可用于模拟服务器、服务器组、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。 Apache JMeter 功能包括: 能够加载和性能测试许多不同的应用程序/服务器/协议类型: 网络 - HTTP、HTTPS(Java、NodeJS、PHP、ASP.NET,...) SOAP/REST 网络服务 FTP 通过 JDBC 数据库 LDAP 通过 JMS 的面向消息的中间件 (MOM) 邮件 - SMTP(S)、POP3(S) 和 IMAP(S) 本机命令或 shell 脚本 TCP Java 对象 全功能测试 IDE,允许快速记录测试计划(来自浏览器或本机应用程序)、构建和调试。 CLI 模式(命令行模式(以前​​称为非 GUI)/无头模式)从任何 Java 兼容操作系统(Linux、Windows、Mac OSX 等)加载测试 完整且可随时呈现的动态 HTML 报告 通过从最流行的响应格式、HTML、JSON、 XML或任何文本格式中提取数据的能力轻松关联 完全可移植性和100% Java 纯度。 完整的多线程框架允许多个线程并发采样和不同线程组同时采样不同功能。 缓存和离线分析/重放测试结果。 高度可扩展的核心: 可插拔采样器允许无限的测试功能。 可编写脚本的采样器(与 JSR223 兼容的语言,如Groovy和 BeanShell) 可以使用可插拔计时器选择多个负载统计信息。 数据分析和可视化插件允许极大的可扩展性和个性化。 函数可用于为测试提供动态输入或提供数据操作。 通过适用于 Maven、Gradle 和 Jenkins 的第3方开源库轻松实现持续集成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值