发表于: 2020-07-06 23:03:30
1 1445
今天完成的事情:jmeter测试
明天计划的事情:memcached学习
遇到的问题:linux的运行问题
收获:
jmeter测试
https://juejin.im/entry/59f7efb3f265da43247fbd2e
jmeter是apache公司基于java开发的一款开源压力测试工具,使用前需要安装java环境.Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。允许使用正则表达式创建断言。
1.安装,按照路径下载解压就行,进入bin目录下找到jmeter.bat,打开就行。Linux下也是同理,sh jmeter.bat。
下载的路径https://jmeter.apache.org/download_jmeter.cgi
安装TPS插件https://www.cnblogs.com/beginner-boy/p/7806220.html
2.jmeter页面根据需要可以切换语言和界面颜色
3.接口测试(1)添加线程组 (2)添加http请求 ,在http请求中写入接入url、路径、请求方式和参数 (3)添加查看结果树等(4)调用接口,查看返回值及TPS值
测试前要先明确性能指标,测试环境和测试数据都需要准备好。
修真wiki上的java性能测试标准
工具:jmeter
条件:20个线程,启动50次,间隔1s
接口通过jmeter压测的结果中,接口平均访问时间应低于200ms,TPS应不小于100
(1)添加线程组
(2)添加请求。写入接入url、路径、请求方式和参数,可以添加参数和上传文件等。
(3)添加查看结果树,图形结果、聚合报告、用表格查看结果。TPS
(4)运行。调用接口、查看返回值,TPS值.下面是聚合报告解析
(1)、Lable: 每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值;
(2)、Samples: 表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100;
(3)、Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间;
(4)、Median:中位数,也就是 50% 用户的响应时间;
(5)、90% Line ~ 99% Line:90% ~99%用户的响应时间;
(6)、Min:最小响应时间;
(7)、Maximum:最大响应时间;
(8)、Error%:本次测试中出现的错误率,即 错误的请求的数量/请求的总数;
(9)、Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second)
(10)、Received KB/src:每秒从服务器端接收到的数据量;
(1)1、Sent KB/src:每秒从客户端发送的请求的数量。
有时,Throughput也可以代表吞吐量
TPS,QPS,并发量
TPS表示执行一次事务(包括请求、请求服务器、等待服务器返回等等,比如一个TPS事务,可能触发3个QPS请求)一秒钟处理的事务数。TPS值越大,一秒钟处理的事务数就越多,说明处理速度越快,软件的效率就越好。
QPS: 每秒钟处理完请求的次数;注意这里是处理完。具体是指发出请求到服务器处理完成功返回结果。可以理解在server中有个counter,每处理一个请求加1,1秒后counter=QPS。
并发量:系统能同时处理的请求数
RT:响应时间,处理一次请求所需要的平均处理时间
计算关系:并发量 = QPS * 平均响应时间
压测前任务需求确认,明确压测功能和指标
(1).固定接口参数就行压测还是随机化接口参数压测?
(2).要求多少并发数?
(3).TPS目标是多少,响应时间要达到多少?
(4).压服务器名称还是压服务器的IP?一般都是服务器IP
压测结果主要查看:Samples、Average、error、Throughput。
评论