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

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服务:

 
  1. (base) C:\Users\10287>python -m http.server 80

  2. 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
 
  1. D:\testing_tools\apache-jmeter-5.3\bin>jmeter.bat -n -t D:/ProgramWorkspace/TestingDemo/test_jmeter/test_http.jmx -l result.jtl

  2. Creating summariser <summary>

  3. Created the tree successfully using D:/ProgramWorkspace/TestingDemo/test_jmeter/test_http.jmx

  4. Starting standalone test @ Sun Jan 24 17:48:59 CST 2021 (1611481739136)

  5. Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445

  6. 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

  7. 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

  8. summary = 50 in 00:00:01 = 47.9/s Avg: 53 Min: 9 Max: 612 Err: 0 (0.00%)

  9. Tidying up ... @ Sun Jan 24 17:49:00 CST 2021 (1611481740529)

  10. ... end of run

jtl文件解析

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

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

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

  • 20
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JMeter是一个用于性能测试和负载测试的开源工具。当需要模拟大量并发用户时,使用单台机器可能无法满足要求,因为JMeter是一个JAVA应用,对于CPU和内存的消耗较大,可能会引发内存溢出错误。为了提供更大的负载能力,可以使用JMeter提供的分布式功能来启动多台电脑来进行分压测试。分布式测试是通过局域网和Internet,将分布在不同地点的独立测试机器连接起来,实现测试资源共享、分散操作、集中管理、协同工作、负载均衡和测试过程监控等目的的计算机网络测试。这样可以更好地模拟真实的并发场景,并提供更准确的性能指标和报告。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Jmeter性能测试之分布式压测](https://blog.csdn.net/m0_37449634/article/details/126721355)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [jmeter性能测试-分布式](https://blog.csdn.net/m0_37673672/article/details/129275810)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值