负载和压力的区别:
负载测试:在一定的工作负荷下,给系统造成的负荷及系统响应的时间
压力测试:在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响
TPS:Transactions Per Second,意思是每秒事务数,具体事务的定义,都是人为的,可以一个接口、多个接口、一个业务流程等等。一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。
以单接口定义为事务为例,每个事务包括了如下3个过程:
a.向服务器发请求
b.服务器自己的内部处理(包含应用服务器、数据库服务器等)
c.服务器返回结果给客户端
如果每秒能够完成N次这三个过程,tps就是N;
如果多个接口定义为一个事务,那么,会重复执行abc,完成一次这几个请求,算做一个tps。
QPS:Queries Per Second,意思是每秒查询率,是一台服务器每秒能够响应的查询次数(数据库中的每秒执行查询sql的次数),显然,这个不够全面,不能描述增删改,所以,不建议用qps来作为系统性能指标。
web端的性能指标:
https://www.cnblogs.com/flyr/p/5509451.html
响应时间(客户端向服务端的请求时间,服务端对数据库的请求时间,服务端将结果展现
到页面的时间)
响应时间258原则
吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和.吞吐量/传输时间,就是
吞吐率.
TPS:每秒处理事务能力
并发数:单用户的多次操作
多用户的单次操作
点击率:每秒钟用户向WEB服务器提交的HTTP请求数.
资源使用率:cpu<80%内存<80%io<40网络<30%
App端的性能指标:
Cpu内存流量电量启动时间帧率
cpu<80%内存<80%
Jmeter接口测试
Jmeter的压力测试
1.测试计划中添加线程租
2.在线程租中添加http请求在http请求中需要填入
3.在线程租中进行修改并发数量(修改线程数量修改循环次数)
4.在线程组中进行添加聚合报告/表格查看结果/图形结果
Jmetere的断言
断言用来判断接口的返回值是否匹配
在线程租中进行添加断言--响应断言并将json放入到响应结果中在查看结果树
加聚合报告->变性能测试
修改线程数-> 变压力测试
Jmeter的参数化关联 都是用${变量名}
Jmeter+ant+jenkins的生成测试报告
A:用户变量 一个变量对应一个变量值
B:用户参数 一个变量对应多个变量值
C:可以使用csv文件方式
1.用txt文件或者是excel、csv文件
2.书写参数化值 一个http请求的所有参数以行为单位 多个值用“,”隔开 多个http请求对应是多行
3.在线程组中添加csvDataconfig 匹配对应的文件和参数名
D:可以使用函数助手的方式来随机生成${}参数变量
<u>https://blog.csdn.net/qq_34659777/article/details/86005723</u>
Jmeter对数据库连接(对数据库进行压力测试)
测试数据的来源
A.复用开发的原有数据
b.复用线上的真实数据
c.直接使用线上数据
d.测试人员手动添加
e.产品或者是运营提供数据
在线程中添加配置原件 jdbc connection config
在线程租中添加取样器中的jdbc request
注意:query type类型不同则写sql语句不同
<u>https://blog.csdn.net/vikeyyyy/article/details/80367135</u>
Boday录制(web端)
Jmeter录制(app端)