JMeter性能测试:JMeter多用户并发模拟及压测结果分析

目录

JMeter设置

JMeter线程组

JMeter压测实例

View Results Tree

Aggregate Report

命令行方式执行压测

jtl文件解析


JMeter多用户并发模拟

JMeter设置

多用户并发数的多少与计算机内存有关,设置 jmeter.bat (Windows) 或者 jmeter.sh (Linux):
Windows设置:编辑jmeter.bat文件,设置HEAP

Linux设置:编辑jmeter.sh文件,设置变量,JVM_ARGS="-Xms1g-Xmx2g"

以Windows为例,设置set HEAP=-Xms1g -Xmx2g -XX:MaxMetaspaceSize=256m ,重新开启JMeter,打开Java监控工具Jconsole:
 

参数设置生效。

       性能测试:

性能测试必会的混合压测场景及分布式压测场景实战,你学会了吗?_哔哩哔哩_bilibiliicon-default.png?t=N4P3https://www.bilibili.com/video/BV1Jc411G7ac/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75

       

 

JMeter线程组

JMeter性能测试任务都是基于线程组的,是性能测试的资源调度池,控制性能测试的运行调度、虚拟用户数(并发数)、执行策略。JMeter线程组主要有三类:

  • setUp Thread Group:普通线程组执行之前执行,相当于pytest测试框架的setup方法。
  • Thread Group:普通线程
  • tearDown Thread Group:普通线程组之后执行。

JMeter压测实例

首先使用python开启一个http服务:

(base) C:\Users\10287>python -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...

新建线程组,设置线程数,点击运行

View Results Tree

Thread Group -> Add -> Listenter -> View Results Tree

支持各种测试器:正则表达式、CSS选择器、XPath测试、JSON Tester等

性能测试必会的混合压测场景及分布式压测场景实战,你学会了吗?_哔哩哔哩_bilibiliicon-default.png?t=N4P3https://www.bilibili.com/video/BV1Jc411G7ac/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75                  

 

Aggregate Report

查看Aggregate Report,聚合报告
Thread Group -> Add -> Listenter -> Aggregate Report

参数:

  • Average:平均响应时间,所有请求的平均响应时间。
  • Median:中位数,50%的用户响应时间不超过这个值。
  • 99%line:99%的用户响应时间不超过这个值。
  • Error%:异常百分比。(错误请求的数量/请求的总数)
  • Throughput:吞吐量,默认情况下每秒完成的请求数。
  • Received KB/sec:接收数据。

命令行方式执行压测

使用图形界面会消耗部分内存,可以直接使用命令行方式运行。

先保存压测脚本为test_http.jmx,执行如下命令:

jmeter.bat -n -t test_http.jmx -l test_result.jtl
D:\testing_tools\apache-jmeter-5.3\bin>jmeter.bat -n -t D:/ProgramWorkspace/TestingDemo/test_jmeter/test_http.jmx -l result.jtl
Creating summariser <summary>
Created the tree successfully using D:/ProgramWorkspace/TestingDemo/test_jmeter/test_http.jmx
Starting standalone test @ Sun Jan 24 17:48:59 CST 2021 (1611481739136)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary +     23 in 00:00:01 =   43.6/s Avg:    35 Min:    11 Max:    91 Err:     0 (0.00%) Active: 3 Started: 25 Finished: 22
summary +     27 in 00:00:01 =   52.7/s Avg:    68 Min:     9 Max:   612 Err:     0 (0.00%) Active: 0 Started: 50 Finished: 50
summary =     50 in 00:00:01 =   47.9/s Avg:    53 Min:     9 Max:   612 Err:     0 (0.00%)
Tidying up ...    @ Sun Jan 24 17:49:00 CST 2021 (1611481740529)
... end of run

jtl文件解析

解析命令行方式运行脚本生成的 jtl文件:

jmeter.bat -g result.jtl -e -o D:/resultReport

打开index.html文件,可以查看性能报告:

性能测试压测

性能测试必会的混合压测场景及分布式压测场景实战,你学会了吗?_哔哩哔哩_bilibiliicon-default.png?t=N4P3https://www.bilibili.com/video/BV1Jc411G7ac/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/24696.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Faster R-CNN网络架构详解和TensorFlow Hub实现(附源码)

文章目录 一、RPN网络1. RPN网络简介2. backbone网络简介 二、Faster R-CNN网络架构1. Faster R-CNN网络简介2. 基于TensorFlow Hub实现Faster R-CNN 前言&#xff1a;Faster R-CNN的简介见 上一篇文章 一、RPN网络 1. RPN网络简介 RPN网络全称Region Proposal Network&#…

vscode配置flutter开发环境,不需要安装第三方安卓模拟器

文章目录 1.获取Flutter SDK2.配置Android环境3. 在Android Studio配置Android设备3.1 进入Device Manager配置安卓设备3.2 创建安卓虚拟机3.3 选择x86 镜像3.4 配置硬件加速3.5 启动模拟器 4.配置vscode1.安装 Flutter 和 Dart 插件 5. 新建flutter程序创建应用 6.启动程序1.选…

nodejs+vue社区母婴幼儿用品商城系统

本系统实现了管理员对用户、商品信息、交流论坛、订单信息的管理&#xff0c;是为了满足用户更深层次的需求。除了上述优势外&#xff0c;本系统还具有&#xff1a;查询迅速&#xff0c;搜索资料方便&#xff0c;可靠性强等等在如今这个高速发展的时代&#xff0c;效率决定着你…

day10 - 使用canny算子进行人像勾勒

本期主要介绍canny算子&#xff0c;了解canny算子的流程以及各个流程的原理和实现。 ​ 完成本期内容&#xff0c;你可以&#xff1a; 了解canny算子的流程和应用 若要运行案例代码&#xff0c;你需要有&#xff1a; 操作系统&#xff1a;Ubuntu 16 以上 或者 Windows10 工…

第五篇、基于Arduino uno,获取超声波(HC04)传感器的距离数据——结果导向

0、结果 说明&#xff1a;先来看看串口调试助手显示的结果&#xff0c;显示的是一个距离值&#xff0c;如果是你想要的&#xff0c;可以接着往下看。 1、外观 说明&#xff1a;虽然超声波传感器形态各异&#xff0c;但是原理和代码都是适用的。 2、连线 说明&#xff1a;只…

秒杀系统常见问题—如何避免库存超卖?

大家好&#xff01;我是sum墨&#xff0c;一个一线的底层码农&#xff0c;平时喜欢研究和思考一些技术相关的问题并整理成文&#xff0c;限于本人水平&#xff0c;如果文章和代码有表述不当之处&#xff0c;还请不吝赐教。 以下是正文&#xff01; 先看问题 首先上一串代码 …

Vue.js 比较重要知识点总结一

概述 谈一谈你对 Vue.js 的响应式数据的理解Vue3 出现解决了什么问题&#xff1f;它有哪些优势&#xff1f;Vue3 新特性有哪些vue2 和 vue3 的响应式有什么区别&#xff1f; 谈一谈你对 Vue.js 的响应式数据的理解 Vue 2.x 对象类型&#xff1a;通过 object.defineProperty(…

实时频谱-3.1实时频谱分析仪测量

RSA 测量类型 泰克RSA 可以在频域、时域、调制域和统计域中工作。 频域测量 基本频域测量是实时 RF 数字荧光显示(DPX)频谱显示测量、频谱显示测量和频谱图显示测量功能。 DPX 频谱 DPX 频谱测量对 RSA 发现其它分析仪漏掉的难检信号的能力至关重要。在所有泰克 RSA 中&am…

SAP-MM-内向外向交货单

1、内向&外向交货单概念 外向交货&#xff08;outbound delivery&#xff09;是用在客户与企业之间的交货单&#xff0c;而内向交货&#xff08;inbound delivery&#xff09;则是用在供应商与企业之间的交货单&#xff1b;换言之&#xff0c;外向交货多用于SD 模块&#…

PriorityQueue优先级队列

前言 优先级队列就是在堆的基础上进行改造&#xff0c;那么什么是堆&#xff0c;又什么是优先级队列呢&#xff1f; 我们一起来看看吧&#xff01; 目录 前言 一、堆 &#xff08;一&#xff09;堆的创建 &#xff08;二&#xff09;堆的插入 &#xff08;三&#xff09;堆…

群晖DS920 video station使用教程

群晖DS920 video station使用教程 为了更好的浏览体验&#xff0c;欢迎光顾勤奋的凯尔森同学个人博客http://www.huerpu.cc:7000 安装video station在群晖套件里点一下就好&#xff0c;这里不说了。 一、添加视频库 可以添加电视剧、电视节目等类型。 比如我在国产剧这个视频…

uniapp滚动加载 下拉刷新

前言 在日常开发中&#xff0c;滚动加载和下拉刷新是非常常见的功能&#xff0c;页面数据过多时&#xff0c;需要滚动加载优化性能&#xff0c;本篇技术分享博客将介绍如何在uniapp中实现滚动加载和下拉刷新。 预览 滚动加载 下拉刷新 一、滚动加载 滚动加载指的是当用户滑…

PHP 反序列化漏洞

PHP反序列化漏洞在实际测试中出现的频率并不高&#xff0c;主要常出现在CTF中。 PHP序列化概述 PHP序列化函数&#xff1a; serialize&#xff1a;将PHP的数据&#xff0c;数组&#xff0c;对象等序列化为字符串unserialize&#xff1a;将序列化后的字符串反序列化为数据&…

java 利用poi根据excel模板导出数据(二)

本文是 java 利用poi根据excel模板导出数据&#xff08;一&#xff09; 的续篇 经常有poi的开发一定会碰到三个名词&#xff1a; HSSFWorkbook 、 XSSFWorkbook、SXSSFWorkbook&#xff1b; 这三个都是导出excel的形式&#xff0c;具体区别&#xff1a; HSSFworkbook,XSSF…

Golang每日一练(leetDay0080) 矩形面积、翻转二叉树

目录 223. 矩形面积 Rectangle Area &#x1f31f;&#x1f31f; 226. 翻转二叉树 Invert Binary Tree &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏…

SAP-MM-采购申请-价值特性

采购申请审批在维护价值特性时要注意是抬头价值还是行价值&#xff0c;要确定选择哪个&#xff0c;配置时对应配置。 1、创建价值特性CT04 字段名称&#xff1a;CEBAN-GSWRT&#xff0c;和CEBAN-GFWRT 抬头总价值&#xff1a;CEBAN-GFWRT&#xff1b;如果选择的是抬头审批&am…

数字信号处理8:利用Python进行数字信号处理基础

我前两天买了本MATLAB信号处理&#xff0c;但是很无语&#xff0c;感觉自己对MATLAB的语法很陌生&#xff0c;看了半天也觉得自己写不出来&#xff0c;所以就对着MATLAB自己去写用Python进行的数字信号处理基础&#xff0c;我写了两天左右&#xff0c;基本上把matlab书上的代码…

开源云原生数仓引擎ByConity 存储计算分离架构和优势

供稿 | ByConity技术团队 出品 | CSDN 云计算 ByConity是一款字节跳动开源的云原生数仓引擎。它的一个重要优势是采用存储计算分离的架构&#xff0c;实现了读写分离和弹性扩缩容。这种架构确保读操作和写操作不会相互影响&#xff0c;使得计算资源和存储资源解耦&#xff0c;…

基于html+css的图展示102

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

BLE协议栈结构

// 开坑BLE协议栈 0 镇楼图 接下来会自下往上粗略分析各个层级&#xff0c;后续会有对各层的细致解读 1 CONTROLLER 1.1 PHY BLE使用ISM频段&#xff08;频率范围是2.400-2.4835 GHz&#xff09;。将整个频带分为40份&#xff0c;每份的带宽为2MHz&#xff0c;称作RF Chann…