目录

  • 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多用户并发模拟及压测结果分析相关推荐

  1. Jmeter性能测试五--分布式集群压测

    一.分布式压测背景及原理介绍 1. 分布式压测背景介绍 在企业项目实战时,如果被压的服务器处理能力非常高,或者说被压服务是一个集群,那么这个时候,你使用一台压力机是压不到瓶颈的,反而自己的压力机先瓶颈 ...

  2. 软件性能测试分析与调优实践之路-JMeter对RPC服务的性能压测分析与调优-手稿节选

    一.JMeter 如何通过自定义Sample来压测RPC服务 RPC(Remote Procedure Call)俗称远程过程调用,是常用的一种高效的服务调用方式,也是性能压测时经常遇到的一种服务调用 ...

  3. tcp压测工具_【解决方案】性能压测及分析调优实践

    [关键导读]结合一次重保活动的性能压测需求,详解了整体的性能测试策略及性能分析思路,并在实施过程中有效利用了网易易测的NPT性能测试平台一站式完成了压测场景设计.执行.业务指标监控.性能指标分析等活动 ...

  4. 性能测试 性能测试实战(八)Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》

    文章目录 一.前言 二.Jmeter分布式性能测试平台 介绍 1.Jmter分布式性能测试平台 简介 2.Jmeter分布式性能测试平台 优秀案例1 3.Jmeter分布式性能测试平台 优秀案例2 4 ...

  5. Jmeter多线程并发和压测结果分析

    一.多线程并发 1. 线程组简介: (1). 线程数: 配置虚拟用户数量 (2). Ramp-Up时间:设置的虚拟用户数需要多长时间全部启动,如果线程数为10,准备时长为2,那么需要2秒钟启动10个线 ...

  6. jmeter,TCPCopy,loadrunner 等测试压测工具使用教程

    2.JMeter环境设置 – Jmeter中文网 Apache JMeter - User's Manual: Getting Started JMeter学习(一)工具简单介绍 - 阳光温暖了心情 ...

  7. jmeter压测结果分析

    jmeter结果查看主要在结果树和聚合报告,实际在做压测过程中不做可视化操作,用命令行执行,再查看测试报告. python在本地起服务 cmd打开命令框 执行语句:python -m http.ser ...

  8. jmeter的下载,安装与压测功能基本使用

    1:背景介绍 由于最近需要对api接口进行压测,虽然可以通过编写脚本实现,但是本着'面向对象'思想,专门的工作交给专门的工具来实现,顺便学习一下新的工具使用,并记录一下从0开始学习的jemter基础功 ...

  9. JMeter压力测试:单接口压测和多场景混合并发

    单接口并发压测 首先介绍下单接口压测,使用Jmeter的线程组进行设置: 1.线程数:并发用户数 2.Ramp-Up Period(in seconds):运行的时间 3.循环次数:线程运行的次数 一 ...

最新文章

  1. Linux 软件包管理命令
  2. 图像的存储格式转化(python实现)
  3. 路径.git下的文件
  4. EditText数据回显
  5. red hat linux 关闭防火墙,red hat enterprise linux 7关闭防火墙的方法
  6. git实现审核功能_使用 Pull Request 功能进行代码审查
  7. version for mac 破那啥版
  8. python logging打印终端_python standard package:logging
  9. 【Linux】安装opencv4避坑指南
  10. 如何设置?如何分析?一文解释清楚用户研究的可用性测试问卷!
  11. Android studio:select process to attach to...找不到debug调试的目录
  12. c语言随机生成字母,C语言编程实战案例——6位密码随机生成器
  13. 7.4. Combining Queries
  14. 在线流程图和思维导图开发技术详解(六)
  15. 解决 Jupyter notebook 运行SHELL 命令(!xxx), 出错: OSError: “/bin/bach“ shell not found
  16. 苏宁易购财报看点:加码线上业务布局,注册会员增至6.23亿人
  17. 播放器地址抓取 php,PHP实现使用优酷土豆视频地址获取swf播放器分享地址
  18. 黑客软件大众化 【爆吧机的出现】杨丞琳贴吧遭网友攻陷
  19. 高德获取ip地理位置
  20. 【Java学习路线之JavaWeb】Spring MVC框架入门教程

热门文章

  1. 【计算机网络实验】多区域OSPF配置实验
  2. java 报文怎么构造的,详解http报文,mt900报文
  3. VUE项目执行npm run dev报错 npm ERR! code ELIFECYCLE npm ERR! errno 134 npm ERR wisdom-shipping-agent.....
  4. 服务器云化,以一当十 华为服务器顺应云化和融合趋势
  5. Python 爬取马蜂窝
  6. PHP面试总结(转)
  7. c# wpf 单选字体_WPF中的字体改善
  8. 基于原子核核外电子探讨原子结构
  9. FreeRTOS学习笔记<中断>
  10. c语言解除键盘锁定,详细教你电脑键盘怎么解除锁定