jmeter压力测试怎么测

jmeter压力测试怎么测,第1张

jmeter压力测试方法:

品牌型号:华硕UX30K723A

系统版本:win7

软件版本:apache jmeter v3.1官方版

1、打开JMeter,更改语言为中文,官方默认为我们提供了简体中文。通过 【Options】->【Choose Language】变更为简体中文,如下图所示

2、创建线程组。在“测试计划”上右键 【添加】-->【Threads(Users)】-->【线程组】,如下图所示:

3、设置线程数和循环次数。我这里设置线程数为500,循环一次,如下图所示:

4、配置元件。在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP请求默认值】,如下图所示:

5、配置我们需要进行测试的程序协议、地址和端口,如下图所示:

6、构造HTTP请求。在“线程组”右键 【添加-】->【samlper】-->【HTTP 请求】设置我们需要测试的API的请求路径和数据。我这里是用的json,如下图所示:

7、添加HTTP请求头,在我们刚刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP信息头管理器】。因为我要传输的数据为json,所以设置一个 Content-Type:application/json,如下图所示:

8、添加断言。在我们刚刚创建的线程组上右键 【添加】-->【断言】-->【响应断言】。根据响应的数据来判断请求是否正常。我在这里只判断的响应代码是否为200。还可以配置错误信息,如下图所示:

9、添加察看结果树,在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【察看结果树】。直接添加,然后点击运行按钮就可以看到结果了,如下图所示:

10、添加Summary Report。在我们刚刚创建的线程组上右键 【添加】-->【监听器】-->【Summary Report】。直接添加,然后点击运行按钮就可以看到结果了,如下图所示:

11、执行测试计划,执行测试计划不能用GUI,需要用命令行来执行,如下图所示:

我这里执行的命令为:

jmeter -n -t testplan/RedisLock.jmx -l testplan/result/result.txt -e -o testplan/webreport

说明:

testplan/RedisLock.jmx 为测试计划文件路径testplan/result/result.txt 为测试结果文件路径testplan/webreport 为web报告保存路径。

12、Web报告,如下图所示:

1、压力测试概要

测试环境:apache-tomcat-8.5.16, Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

apache-jmeter-5.0

Tomcat jvm启动参数

JAVA_OPTS="-server -XX:MaxNewSize=2048m –XX:NewSize=2048m –Xms8192m –Xmx8192m"

Tomcat Server参数:

<Connector port =" 8080 "

enableLookups =" false "

disableUploadTimeout =" true "

acceptCount =" 2000 "

maxSpareThreads =" 1000 "

minSpareThreads =" 300 "

maxThreads =" 2000 "

redirectPort =" 8443 " compressableMimeType =" text/html,text/xml,text/javascript,text/css,text/plain,application/json " compression =" on " connectionTimeout =" 20000 " protocol =" HTTP/1.1 "/> />

Tomcat context 配置:

driverClassName="com.mysql.jdbc.Driver" filters="stat"

initialSize="10" maxActive="200"

maxPoolPreparedStatementPerConnectionSize="20" maxWait="60000"

minEvictableIdleTimeMillis="300000" minIdle="10"

testOnBorrow="false" testOnReturn="false" testWhileIdle="true"

timeBetweenEvictionRunsMillis="60000" type="javax.sql.DataSource"

" timeBetweenEvictionRunsMillis =" 60000 " testWhileIdle =" true " testOnReturn =" false " testOnBorrow =" false " poolPreparedStatements =" true " name =" jdbc/xxxxApp " minIdle =" 50 " minEvictableIdleTimeMillis =" 300000 " maxWaitMillis =" 60000 " maxPoolPreparedStatementPerConnectionSize =" 20 " maxTotal =" 400 " initialSize =" 50 " filters =" stat " driverClassName =" com.mysql.jdbc.Driver " connectionProperties =" druid.stat.slowSqlMillis=3000 " auth =" Container "/

数据库信息:

测试时间:xxxx/xx/xx

服务端配置:

客户端配置:

测试工具:JMeter

2、测试说明

(1)名词定义(时间单位ms)

Sample:本次测试场景共运行多少线程;

Average:平均响应时间;

Median:统计意义上的响应时间中值;

90% line:所有线程中90%的线程响应时间都小于xx的值

Min:响应最小时间;

Max:响应最大时间;

Error:出错率;

Throughput - 吞吐量以“requests/second、requests /minute、 requests /hour”来衡量。 时间单位已经被选取为second,所以,显示速率至少是1.0,即每秒1个请求。 当吞吐量被保存到CVS文件时,采用的是requests/second,所以30.0 requests/second 在CVS中被保存为0.5

Kb/sec - 以Kilobytes/seond来衡量的吞吐量

(2)测试过程说明:

测试以下页面:

/xxx/bbbb/cccc

测试数据量(模拟用户量):

1000个线程

3000个线程:

5000个线程:

7000个线程:

PROD 环境监控


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10836036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存