重要说明
试用提供两种账号,分别是体验账号、试用账号。
体验账号:用户无需任何配置工作,可以直接进行压测demo 业务链路,查看压测实况、压测报告、性能分析等结果,无法编辑、新增内容,千万不要在体验账号接入应用,体验账号的数据所有用户都可以查看。
试用账号:用户可以亲自动手接入 demo 应用,配置影子库表、压测脚本、压测场景等从 0 开始体验接入到压测的全过程。
目前入门试用仅支持使用我们提供的 Demo应用,如需接入自己的应用,因为可能涉及到更复杂的链路和中间件,需要再找相关支持人员(销售、售前、试用负责人)沟通协商后再接入。
今天带您快速体验Takin 的功能流程,主要有「链路梳理」、「数据隔离」、「链路调试」、「压测报告」、「性能分析」等几个部分。通过这些体验,能够帮助您快速理解和掌握Takin 是什么,以及能够做什么。
Takin 使用流程图
1、链路梳理
企业的每块业务本身非常繁杂,而且在当前主流的微服务架构下,各个微服务之间高度依赖,各个调用关系错综复杂,也没有完整清晰的链路梳理拓扑图,过往只能靠手工编写的系统架构图,颗粒度都是比较粗,在全链路压测的时候无法还原出真实链路更细粒度的调用关系。
所以自动链路梳理功能应运而生,能够高效解决传统链路梳理遇到的痛点、难点。
2、数据隔离
生产环境压测过程中,我们要避免压测数据会污染线上业务数据,所以我们要对压测数据进行管控,在逻辑上,我们会构建一条影子链路,所有压测操作都会操作压测数据,所有压测数据读写都是使用影子方案。要进行数据隔离,我们还需要对压测链路进行风控配置。
2.1、白名单配置
压测链路中所有调用的方法都必须要在控制台上打开,控制台会自动收集所有压测中调用到的方法,您可以手动打开,压测流量才可以放行通过。
2.2、影子库表
如果在压测过程中涉及到数据的写入,还需要配置影子库表,届时压测数据就会写入到影子库表中,避免污染线上业务数据。
2.3、其他配置
如果您的压测链路中,如果还涉及了「缓存」、「MQ」 等服务,还需要配置「影子缓存」、「影子消费者」;如果涉及到第三方服务的调用,还需用配置「挡板」,避免压测流量对第三方 服务造成额外影响;更详细的内容可以关注我们后续的进阶用法。
3、链路调试
为了辅助您可以更好地进行压测,我们还提供链路调试工具,可以检测出压测需要的相关配置、链路异常等问题,并会给出相关解决建议,让您可以快速高效进行压测。
3.1、发起调试
可以对某个业务活动(压测链路)快速发起调试,只需要配置压测链路相关的URL、请求类型、Header、Body、Cookies、数据验证等就可以开始调试。
3.2、调试结果
1)调试发现链路问题
当压测链路出现异常,调试工具能够给出异常所在,并提供解决建议。如图发现链路中有白名单方法未配置。
2)调试成功
如果调试压测链路没有出现异常,调试工具就会显示调试成功,届时可以去进行压测。如图把上一步的白名单方法打开之后,压测链路的异常就得到解决了。
4、压测
4.1、压测场景
只要对压测链路,创建一个压测场景,并配置好一些关键参数,就能够快速发起压测了。下面以「修改用户名」这个 demo 作为压测链路。
1)设定业务活动的目标性能指标:目标 TPS、目标 RT、目标成功率、目标 SA
2)施压配置&施压 SLA(熔断)
4.2、压测实况
在压测过程中,需要实时关注压测的指标变化情况,以便于能对压测做出实时性的判断和应急操作。压测实况的全部数据都会保存在压测报告中,也可以手动停止压测,直接到压测报告中查看完整数据。
4.3、压测报告
通过压测报告,可以看到本次压测结果总览:压测是否通过、具体的告警数量、请求总数、最大并发、TPS、平均RT、成功率、SA;
5、性能分析
性能分析模块的作用主要是在压测期间,当发现存在耗时高的请求节点或资源使用高的应用时可以进一步的深入分析数据,帮助用户缩小问题的范围,主要包含功能有:线程分析、内存分析、方法追踪。
5.1、线程分析
线程分析页面显示压测期间线程与CPU利用率随时间变化的曲线,可以通过该曲线查看线程数量与CPU使用率在某些时刻是否发生了异常变化,并以此作为性能瓶颈定位分析。
5.2、内存分析
内存分析页面首先会显示一个压测期间总堆存大小、年轻代使用量、年老代使用量、永久代使用量随时间变化的曲线,可以通过该曲线查看各区域的内存使用情况是否发生了异常变化。
5.3、方法追踪
当在压测过程中发现某些请求的耗时特别高时,会希望能够进一步分析是具体哪个方法耗时较高,以便可以对这个方法进行性能优化,达到使整体链路性能表现提升的效果,此时可通过方法追踪的功能进行定位。关于方法追踪的详细用法,可以查看【进阶用法】性能分析-方法追踪