jmeter

简介: Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于模拟http请求对软件进行压力测试。下载地址: https://jmeter.apache.org/download_jmeter.

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于模拟http请求对软件进行压力测试。下载地址:

https://jmeter.apache.org/download_jmeter.cgi

更改语言为中文

通过 【Options】->【Choose Language】变更为简体中文。

Windows下新建测试模型

线程组

选中测试计划,右键添加线程组:
1

number of Threads(users):并发用户数

Ramp-Up Period(in seconds):全量并发启动的完成时间

Loop Count: Forver/n, Forver:一直运行;n:执行次数

Duration(seconds):循环时间

下图为,10并发,1秒内并发数达到10,持续30秒:
2

http请求默认值

为线程组添加配置元件->http请求默认值:
3

设置超时时间,防止大量connect timeout error:
4

http请求头管理器

为线程组添加配置元件->添加信息头管理器,例如设置content-type为application/json:
5

http请求

为线程组添加取样器->http请求:
6

监听器

jmeter提供了多种监听器,可根据需求选择,还可以添加jmeter插件,添加扩展监听器:
7

实际测试

jmeter推荐用户使用非GUI模式压测,GUI模式只建立jmx模型和测试。实际压测时,将jmx文件上传至Linux服务器,使用Linux版进行压测。jmeter启动时也做了如下提示:
8

之前GUI下生成的jmx文件命名为ll-login.jmx,Linux测试如下:

jmeter -n -t ll-login.jmx -l result.jtl -e -o result/

参数解释:

-t, --testfile <argument>
  运行jmeter测试(.jmx)文件

-l, --logfile <argument>
  文件记录样本

-n, --nongui
  在非GUI模式下运行的JMeter

-e, --reportatendofloadtests
  generate report dashboard after load test

-o, --reportoutputfolder <argument>
  output folder for report dashboard

执行后会生成result.jtl结果,以及result目录下可用浏览器直接打开的汇总结果。

JMeter HEAP参数

修改参数:

vim jmeter

默认值如下:

HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"

参数解释:

-Xms1g
表示JVM Heap(堆内存)最小尺寸1g,初始分配

-Xmx1g
表示JVM Heap(堆内存)最大允许的尺寸1g,按需分配。

-XX:MaxMetaspaceSize=256m
-XX:MaxMetaspaceSize参数设置元空间最大值,默认是没有上限的,也就是说系统内存上限就是它的上限。
-XX:MetaspaceSize选项指定元空间初始大小,默认21m,超过后会进行fullGC。

添加jmeter插件

下载地址

https://jmeter-plugins.org/install/Install/

下载plugins-manager.jar并放在jmeter安装路径下的/lib/ext/目录下,重启jmeter。

在options选项下会新增Plugins Manager选项,如下:
9

进入Plugins Manager查看可安装插件(Available Plugins),其中3 basic Graphs包含三种图像:

活动线程数变化曲线

响应时间变化曲线

每秒事务处理率

点击右下角Apply Change and Restart JMeter即可安装成功。

日志分析

jmeter内分析

为线程组添加tps监听器,导入之前生成的result.jtl结果,如图:
11

浏览器查看

在浏览器查看生成的result目录下的文件:
12

目录
相关文章
|
2月前
|
Java Linux 测试技术
JMeter 介绍与安装
Apache JMeter 是一款基于Java的开源性能和负载测试工具,常用于测试Web应用、Web服务、数据库及其他网络服务的性能。它具备跨平台特性,支持Windows、Mac及Linux系统,并可通过插件进行扩展。JMeter不仅能模拟大量用户访问以测试服务器承压能力,还适用于接口测试,支持分布式部署与UI及命令行操作模式。
|
监控 Java 测试技术
jmeter使用
jmeter使用
|
JSON 数据挖掘 数据格式
jmeter实用篇
jmeter实用篇
|
SQL 存储 XML
Jmeter之取样器
HTTP请求、调试取样器、JDBC request
|
XML JSON 算法
JMeter(连载3)
JMeter(连载3)
132 0
JMeter(连载3)
|
安全 JavaScript 前端开发
JMeter(连载2)
JMeter(连载2)
134 0
JMeter(连载2)
|
测试技术 数据安全/隐私保护
JMeter(连载5)
JMeter(连载5)
114 0
JMeter(连载5)
|
测试技术
JMeter(连载4)
JMeter(连载4)
81 0
JMeter(连载4)
|
SQL Java 数据库连接