Takin 快速体验

今天带您快速体验ForceCop 的功能流程,主要有「链路梳理」、「数据隔离」、「链路调试」、「压测报告」、「性能分析」等几个部分。通过这些体验,能够帮助您快速理解和掌握Takin是什么,以及能够做什么。

1、链路梳理

企业的每块业务本身非常繁杂,而且在当前主流的微服务架构下,各个微服务之间高度依赖,各个调用关系错综复杂,也没有完整清晰的链路梳理拓扑图,过往只能靠手工编写的系统架构图,颗粒度都是比较粗,在全链路压测的时候无法还原出真实链路更细粒度的调用关系。

所以自动链路梳理功能应运而生,能够高效解决传统链路梳理遇到的痛点、难点。

Takin 快速体验
链路拓扑图-并能识别链路异常
Takin 快速体验
链路节点-对外提供的服务
Takin 快速体验
链路节点-调用的下游服务
Takin 快速体验
链路节点-各实例地址

2、数据隔离

生产环境压测过程中,我们要避免压测数据会污染线上业务数据,所以我们要对压测数据进行管控,在逻辑上,我们会构建一条影子链路,所有压测操作都会操作压测数据,所有压测数据读写都是使用影子方案。要进行数据隔离,我们还需要对压测链路进行风控配置

Takin 快速体验
影子链路

2.1、白名单配置

压测链路中所有调用的方法都必须要在控制台上打开,控制台会自动收集所有压测中调用到的方法,您可以手动打开,压测流量才可以放行通过。

Takin 快速体验
白名单方法

2.2、影子库表

如果在压测过程中涉及到数据的写入,还需要配置影子库表,届时压测数据就会写入到影子库表中,避免污染线上业务数据。

Takin 快速体验
影子库表配置

2.3、其他配置

如果您的压测链路中,如果还涉及了「缓存」、「MQ」 等服务,还需要配置「影子缓存」、「影子消费者」;如果涉及到第三方服务的调用,还需用配置「挡板」,避免压测流量对第三方 服务造成额外影响;更详细的内容可以关注我们后续的 ForceCop 进阶用法。

3、链路调试

为了辅助您可以更好地进行压测,我们还提供链路调试工具,可以检测出压测需要的相关配置、链路异常等问题,并会给出相关解决建议,让您可以快速高效进行压测。

3.1、发起调试

可以对某个业务活动(压测链路)快速发起调试,只需要配置压测链路相关的URL、请求类型、Header、Body、Cookies、数据验证等就可以开始调试。

Takin 快速体验
链路调试-发起调试

3.2、调试结果

1)调试发现链路问题

当压测链路出现异常,调试工具能够给出异常所在,并提供解决建议。如图发现链路中有白名单方法未配置。

Takin 快速体验
调试结果失败-压测链路有白名单未配置

2)调试成功

如果调试压测链路没有出现异常,调试工具就会显示调试成功,届时可以去进行压测。如图把上一步的白名单方法打开之后,压测链路的异常就得到解决了。

Takin 快速体验
调试结果成功

4、压测报告

4.1、压测场景

只要对压测链路,创建一个压测场景,并配置好一些关键参数,就能够快速发起压测了。下面以「修改用户名」这个 demo 作为压测链路。

1)设定业务活动的目标性能指标:目标 TPS、目标 RT、目标成功率、目标 SA

Takin 快速体验
压测目标设定

2)施压配置&施压 SLA(熔断)

ForceCop 快速入门
施压配置
ForceCop 快速入门
SLA (熔断)配置

4.2、压测实况

在压测过程中,需要实时关注压测的指标变化情况,以便于能对压测做出实时性的判断和应急操作。压测实况的全部数据都会保存在压测报告中,也可以手动停止压测,直接到压测报告中查看完整数据。

Takin 快速体验
压测实况

4.3、压测报告

通过压测报告,可以看到本次压测结果总览:压测是否通过、具体的告警数量、请求总数、最大并发、TPS、平均RT、成功率、SA;

Takin 快速体验
压测报告-结果总览
ForceCop 快速入门
压测问题分析
ForceCop 快速入门
ForceCop 快速入门
容量水位-发现某机器 CPU 已经达到 100%
ForceCop 快速入门
ForceCop 快速入门
请求调用栈-查看每次请求明细

5、性能分析

性能分析模块的作用主要是在压测期间,当发现存在耗时高的请求节点或资源使用高的应用时可以进一步的深入分析数据,帮助用户缩小问题的范围,主要包含功能有:线程分析、内存分析、方法追踪。

Takin 快速体验
性能分析入口

5.1、线程分析

线程分析页面显示压测期间线程与CPU利用率随时间变化的曲线,可以通过该曲线查看线程数量与CPU使用率在某些时刻是否发生了异常变化,并以此作为性能瓶颈定位分析。

ForceCop 快速入门
线程分析-趋势图
ForceCop 快速入门
线程分析-线程详情

5.2、内存分析

内存分析页面首先会显示一个压测期间总堆存大小、年轻代使用量、年老代使用量、永久代使用量随时间变化的曲线,可以通过该曲线查看各区域的内存使用情况是否发生了异常变化。

ForceCop 快速入门
性能缝隙-内存分析

5.3、方法追踪

当在压测过程中发现某些请求的耗时特别高时,会希望能够进一步分析是具体哪个方法耗时较高,以便可以对这个方法进行性能优化,达到使整体链路性能表现提升的效果,此时可通过方法追踪的功能进行定位。关于方法追踪的详细用法,可以查看【进阶用法】性能分析-方法追踪- https://news.shulie.io/?p=2391

ForceCop 快速入门
性能分析-方法追踪

本文来自投稿,不代表TakinTalks稳定性技术交流平台立场,如若转载,请联系原作者。

(6)
上一篇 2021年4月21日 下午3:44
下一篇 2021年6月18日 下午2:29

相关推荐

发表评论

登录后才能评论

评论列表(1条)