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:
参数设置生效。
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等
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文件,可以查看性能报告:
--THE END--
文章标题:JMeter性能测试:JMeter多用户并发模拟及压测结果分析
本文作者:hiyo
本文链接:https://blog.csdn.net/u010698107/article/details/113824731
欢迎关注公众号:「测试开发小记」及时接收最新技术文章!
JMeter性能测试:JMeter多用户并发模拟及压测结果分析相关推荐
- Jmeter性能测试五--分布式集群压测
一.分布式压测背景及原理介绍 1. 分布式压测背景介绍 在企业项目实战时,如果被压的服务器处理能力非常高,或者说被压服务是一个集群,那么这个时候,你使用一台压力机是压不到瓶颈的,反而自己的压力机先瓶颈 ...
- 软件性能测试分析与调优实践之路-JMeter对RPC服务的性能压测分析与调优-手稿节选
一.JMeter 如何通过自定义Sample来压测RPC服务 RPC(Remote Procedure Call)俗称远程过程调用,是常用的一种高效的服务调用方式,也是性能压测时经常遇到的一种服务调用 ...
- tcp压测工具_【解决方案】性能压测及分析调优实践
[关键导读]结合一次重保活动的性能压测需求,详解了整体的性能测试策略及性能分析思路,并在实施过程中有效利用了网易易测的NPT性能测试平台一站式完成了压测场景设计.执行.业务指标监控.性能指标分析等活动 ...
- 性能测试 性能测试实战(八)Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》
文章目录 一.前言 二.Jmeter分布式性能测试平台 介绍 1.Jmter分布式性能测试平台 简介 2.Jmeter分布式性能测试平台 优秀案例1 3.Jmeter分布式性能测试平台 优秀案例2 4 ...
- Jmeter多线程并发和压测结果分析
一.多线程并发 1. 线程组简介: (1). 线程数: 配置虚拟用户数量 (2). Ramp-Up时间:设置的虚拟用户数需要多长时间全部启动,如果线程数为10,准备时长为2,那么需要2秒钟启动10个线 ...
- jmeter,TCPCopy,loadrunner 等测试压测工具使用教程
2.JMeter环境设置 – Jmeter中文网 Apache JMeter - User's Manual: Getting Started JMeter学习(一)工具简单介绍 - 阳光温暖了心情 ...
- jmeter压测结果分析
jmeter结果查看主要在结果树和聚合报告,实际在做压测过程中不做可视化操作,用命令行执行,再查看测试报告. python在本地起服务 cmd打开命令框 执行语句:python -m http.ser ...
- jmeter的下载,安装与压测功能基本使用
1:背景介绍 由于最近需要对api接口进行压测,虽然可以通过编写脚本实现,但是本着'面向对象'思想,专门的工作交给专门的工具来实现,顺便学习一下新的工具使用,并记录一下从0开始学习的jemter基础功 ...
- JMeter压力测试:单接口压测和多场景混合并发
单接口并发压测 首先介绍下单接口压测,使用Jmeter的线程组进行设置: 1.线程数:并发用户数 2.Ramp-Up Period(in seconds):运行的时间 3.循环次数:线程运行的次数 一 ...
最新文章
- Linux 软件包管理命令
- 图像的存储格式转化(python实现)
- 路径.git下的文件
- EditText数据回显
- red hat linux 关闭防火墙,red hat enterprise linux 7关闭防火墙的方法
- git实现审核功能_使用 Pull Request 功能进行代码审查
- version for mac 破那啥版
- python logging打印终端_python standard package:logging
- 【Linux】安装opencv4避坑指南
- 如何设置?如何分析?一文解释清楚用户研究的可用性测试问卷!
- Android studio:select process to attach to...找不到debug调试的目录
- c语言随机生成字母,C语言编程实战案例——6位密码随机生成器
- 7.4. Combining Queries
- 在线流程图和思维导图开发技术详解(六)
- 解决 Jupyter notebook 运行SHELL 命令(!xxx), 出错: OSError: “/bin/bach“ shell not found
- 苏宁易购财报看点:加码线上业务布局,注册会员增至6.23亿人
- 播放器地址抓取 php,PHP实现使用优酷土豆视频地址获取swf播放器分享地址
- 黑客软件大众化 【爆吧机的出现】杨丞琳贴吧遭网友攻陷
- 高德获取ip地理位置
- 【Java学习路线之JavaWeb】Spring MVC框架入门教程
热门文章
- 【计算机网络实验】多区域OSPF配置实验
- java 报文怎么构造的,详解http报文,mt900报文
- VUE项目执行npm run dev报错 npm ERR! code ELIFECYCLE npm ERR! errno 134 npm ERR wisdom-shipping-agent.....
- 服务器云化,以一当十 华为服务器顺应云化和融合趋势
- Python 爬取马蜂窝
- PHP面试总结(转)
- c# wpf 单选字体_WPF中的字体改善
- 基于原子核核外电子探讨原子结构
- FreeRTOS学习笔记<中断>
- c语言解除键盘锁定,详细教你电脑键盘怎么解除锁定