20200427_性能基本总结
性能测试基础知识
https://www.cnblogs.com/garvicker/p/9288713.html
一、添加一些配置说明(基本压测:单接口):
1、用户自定义变量---线程组---右键----添加----配置元件----用户自定义变量

2、http请求默认值---线程组---右键----添加----配置元件----http请求默认值

3、http cookie管理器---线程组---右键----添加----配置元件---- http cookie管理器

4、http信息头管理器--线程组---右键----添加----配置元件---- http信息头管理器类似以下:

5、http请求--线程组---右键----添加----配置元件---- http请求(如果返回乱码在content encoding改下编码即可)

6、线程组---右键----添加----监听器-----查看结果树(一般会加结果树:绿色是成功红是失败)

7、线程组---右键----添加----监听器-----聚合报告

8、http请求--右键----添加--响应断言(一般用substing和否就行,可以包含多个是&)
https://www.cnblogs.com/yoyoketang/p/11967243.html

9、一般jemeter很少用线程组跑压测,因为太单一(只会用于调试),所以会装一些插件来辅助,在此呢我用的是jp@gc-untimate thread Group
https://www.cnblogs.com/zhangyqn/p/11812368.html -- 描述

Start Threads Count:当前行启动的线程总数
Initial Delay/sec:延时启动当前行的线程,单位秒
Startup Time/sec:启动当前行所有线程达峰值所需时间,单位秒
Hold Load For/sec:当前行线程达到峰值后的稳定加载时间,单位秒
Shutdown Time:停止当前行所有线程所需时间,单位秒
10、jp@gc - Response Times Over Time插件(随着时间的推移响应时间)

11、jp@gc - Transactions per Second:每秒事务数,服务器每秒处理的事务数(tps分布图)

总结:jemeter报告我这边主要关注的是以下三个报告:
1、聚合报告
2、jp@gc - Response Times Over Time
3、jp@gc - Transactions per Second
关于插件安装详情以及插件说明查看以下网址:
https://blog.csdn.net/lluozh2015/article/details/51192058
https://blog.csdn.net/qq_24373725/article/details/79127032
二、编写随机函数
1、选项--函数助手对话框--里面有很对自带函数,可直接引用即可(例如:uuid,random等)


2、需要自己编写的函数:http请求--添加--前置处理器--BeanShell PreProcessor(具体百度)

三、获取实时token
1、将变量值放在信息头管理器前先添加一个正则表达式:如下图
http请求--添加--后置处理器--正则表达式提取


四、混合场景(多接口)
1、主账户接口案例
登陆鉴权最小公倍数=30

2、如何分配?=线程组--添加--逻辑控制器--如果(if)控制器
将线程根据6个接口按比例分,取最小公倍数30/7*30=7,从0开始数到6刚好=7,当条件满足下一个接口就直接压下一个接口



一、聚合报告分析
1、 lable:每个jemeter的element(例如:http request请求)
2、 #samples:表示这次测试中一共花了多少请求
3、 Average:平均响应时间---默认是单个request的响应时间
4、 Median:中位数---也就是50%用户的响应时间
5、 90%line:90%的用户响应时间
6、 95%line:95%的用户响应时间
7、 99%line:99%的用户响应时间
8、 Min:最小响应时间
9、 Max:最大响应时间
10、Error%:本次测试中出现错误的请求数量/请求总数
11、throughput: 默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second(tps) 数
12: KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec(吞吐量)
备注:throughput:=#samples/(Start Time(最后一个线程时间:s)+ Sample Time(最后一个线程时间:ms)- Start Time(第一个线程时间))
=(10/(52.403+12s-33.21))*60s=31.24
=10/19.205s*60s=31.24如果throughput等于每分钟的话需要最后*60s
二、表格查看结果:
1、Sample:每个请求的序号
2、Start Time:每个请求开始时间
3、Thread Name:每个线程的名称
4、Label:Http请求名称
5、Sample Time:每个请求所花时间,单位毫秒
6、Status:请求状态,如果为勾则表示成功,如果为叉表示失败。
7、Bytes:请求的字节数
8、样本数目:也就是上面所说的请求个数,成功的情况下等于你设定的并发数目乘以循环次数
9、平均:每个线程请求的平均时间
10、最新样本:表示服务器响应最后一个请求的时间
11偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。
三、查看结果树:
1、Thread Name:线程组名称
2、Sample Start: 启动开始时间
3、Load time:加载时长
4、Latency:等待时长
5、Size in bytes:发送的数据总大小
6、Headers size in bytes:发送数据的其余部分大小
7、Sample Count:发送统计
8、Error Count:交互错误统计
9、Response code:返回码
10、Response message:返回信息
10、 Response headers:返回的头部信息
四、图形结果:
样本数目:发送到服务器的总请求数
最新样本:服务器响应最后一个请求的时间值
吞吐量:服务器每分钟处理的请求数
平均值:总运行时间除以发送到服务器的请求数
中间值:有一半的服务器响应时间低于该值而另一半的高于该值
偏离:服务器响应时间变化、离散程度测量值的大
五、监控oracle简单说明:
1、 将驱动ojdbc6.jar放到jemeter测试计划中引用,如下图

2、测试计划--线程组-- JDBC Connection Configuration---如下图配置数据

3、线程组—添加—sampler-- JDBC Request

4、线程组---右键----添加----监听器-----查看结果树

5、线程组---右键----添加----监听器-----聚合报告

Oracle数据库:
驱动程序包名:ojdbc14.jar
驱动类的名字:oracle.jdbc.driver.OracleDriver
JDBC URL:jdbc:oracle:thin:@dbip:port:databasename
说明:驱动程序包名有可能会变
JDBC URL中各个部分含义如下:
dbip –为数据库服务器的IP地址,如果是本地可写:localhost或127.0.0.1。
port –为数据库的监听端口,需要看安装时的配置,缺省为1521。
databasename –为数据库的SID,通常为全局数据库的名字。
监控数据库详情链接如下:
相关分析可查看一下连接:
https://blog.csdn.net/nan_gua_xu/article/details/45250865常用数据库的驱动程序名,驱动类名以及URL
https://blog.csdn.net/wugang8023/article/details/71336187 Jmeter连接Oracle数据库
https://blog.csdn.net/wugang8023/article/details/71336187
https://www.cnblogs.com/nirvana-daidai/p/4487791.html
生成随机手机号码(jemeter自带的random函数)
https://www.cnblogs.com/botoo/p/7676157.html
1、选项—函数助手—选择_random函数



Loadrunner测试:详情查看一下链接:
https://wenku.baidu.com/view/e7f3b6788762caaedc33d47f.html?rec_flag=default&sxts=1538204198397(较全)
https://wenku.baidu.com/view/e76219d349649b6648d747ef.html
jemrter性能多线程组并发测试(多场景混合并发)
https://blog.csdn.net/laofashi2015/article/details/78552663?utm_source=blogxgwz0#commentBox
jemeter录制脚本
https://blog.csdn.net/qq514418695/article/details/53183473

浙公网安备 33010602011771号