l 使用系统
应用配置
下图中的应用信息,是通过接入agent启动的应用上报而来。
在使用压测之前我们需要对我们的应用做一些简单的配置,从而实现我们的“生产环境压测”。点击页面上的应用详情后如下图所示:
1. 影子库表配置
点击影子库/表,切换到影子库表配置,然后点击新增影子库表
Ps:本文以影子表为例
需要配置的只是方案类型,数据库url和表名称,url填写的是数据库的连接,例如:jdbc:mysql://192.168.1.122:3306/testdb
表名称填写的是自身的业务表名称(系统会自动追加“pt_前缀”),使用影子表的前提是需要我们创建一张与业务表一样的表(影子表),影子表的名称是以pt_开头加上业务表的名称。例如业务表名是employee,影子表名就是pt_employee。最后点击确认配置即可。
2.挡板配置
挡板可以将请求拦截,并返回预设好的结果,模拟正常或异常的请求结果,可适用于以下场景:
- 第三方调用服务:若压测链路里调用了第三方应用的接口,例如短信、支付,而第三方服务又不便配合压测时,可以使用挡板,将请求三方接口的方法重写,返回预设的结果,模拟调用;
- 由于内部组织协调的关系,导致部分应用无法配合压测,可以使用挡板将调用下游接口的方法重写,返回预设的结果,模拟调用;
- 若压测链路里遇到需要对某个方法进行改造的场景,也可以使用挡板,对该方法进行重写。
只需要配置类名+方法名以及需要返回的java代码块。
类名+方法名,需要填写类名的全路径,示例如下:
com.shulie.io.ptdemo.test.BaffleTest#getTest 类名和方法名以#隔开
java代码块配置如下:
返回对象:
import com.example.demo.entity.User ;
User user = new User();
user.setName(“PT_test”); return user ;
返回普通String:
return “String”;
3.白名单配置
接口地址只需要写路径即可,不需要填写ip地址:端口,示例如下:
/api/demo/hello/name
链路梳理
服务入口不需要手工填写,通过发起业务请求,系统自动梳理,1分1次的定时任务进行拉取。
ps:请求需要添加压测标识才能视为压测流量,需要将压测标识添加到请求头,对应的key-value如下:
key:User-Agent value:PerfomanceTest
脚本配置
选择脚本相关联的业务即可,该脚本为jmeter的压测脚本。其中jmeter推荐使用如下配置:
安装 Concurrency ThreadGroup插件:
https://www.cnblogs.com/xioawu-blog/p/11127874.html
上传完毕保存即可。
场景配置
点击如图的新增压测场景
按所示内容进行填写,配置各项压测指标和终止条件,告警条件非必填项。
填写完后保存,回到压测场景首页,选择压测场景点击启动,即可开始压测,检查配置完毕会进入压测实况,有各项图表数据,以及流量请求明细。
压测完毕之后可以查看压测报告
可以通过压测场景的查看报告或压测报告查看
报告数据如下图(部分图片):
Takin开源项目地址:
https://github.com/shulieTech/Takin
本文来自投稿,不代表TakinTalks稳定性技术交流平台立场,如若转载,请联系原作者。
评论列表(7条)
影子消费者怎么配,什么时候配
对于中间件,比如redis、mq这些目前是如何区分压测流量跟正式流量?
支持,加油
@康鹏小凡:感谢♥️
图不是太清晰。
@Handle Gently:我们正在努力更新哦~最新文档操作说明会同步在站内哦~