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、线程组---右键----添加----监听器-----聚合报告

 

 

8http请求--右键----添加--响应断言(一般用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%:本次测试中出现错误的请求数量/请求总数

11throughput: 默认情况下表示每秒完成的请求数(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

 

 

posted @ 2020-04-27 15:13  山路坎坷  阅读(192)  评论(0)    收藏  举报