性能测试工具 生产环境全链路压测平台 Takin

TakinTalks稳定性社区 · 2021年08月11日 · 最后由 tangoliver 回复于 2021年08月14日 · 4548 次阅读

什么是 Takin?

Takin 是基于 Java 的开源系统,可以在无业务代码侵入的情况下,嵌入到各个应用程序节点,实现生产环境的全链路性能测试,适用于复杂的微服务架构系统。

Takin核心原理图
Takin 核心原理图

Takin 有什么特点?

Takin 具备以下 4 个特点:

(1)业务代码 0 侵入:在接入、采集和实现逻辑控制时,不需要修改任何业务代码;
(2)链路治理:能够帮助业务和微服务架构分析业务链路,以技术方式获得功能视角的链路信息;
(3)性能瓶颈定位:性能测试结果可以直接展现整个链路中存在性能瓶颈的微服务架构节点;
(4)数据隔离:可以在不污染生产环境数据和日志的情况下实施性能测试,可以在生产环境对写类型接口进行直接的性能测试

Takin 与传统性能测试的区别

微服务架构在现代系统架构中已被普遍使用,业务复杂性和系统复杂性双重作用使得保障和维持整个系统的高可用性变得困难异常,同时对研发效率也有较大负面影响。为了解决性能瓶颈保证系统的高可用,需要对系统实施性能测试,但传统的性能测试有仿真性、局部性和黑盒性三大问题。
仿真性:传统的性能测试通常在测试环境或者性能环境实施,但这些环境都只是对生产环境的仿真,无法真正代表生产环境。
局部性:传统性能测试有时会在生产环境的单一局部服务实施,或者只压测读类型的接口,但局部高可用不代表整体链路的高可用。
黑盒性:传统的性能测试只能获得 TPS 等性能结果,无法在复杂的微服务架构系统中定位和分析存在性能瓶颈的服务节点。
在这里插入图片描述

Takin 界面
在生产环境进行性能压测是公认的最优解决方案,但这也是一件极具挑战性的事情,容易污染现网的数据库、日志等数据,进行生产环境测试数据清理时操作复杂且危险性高,为此,生产环境全链路压测技术应运而生。Takin 作为首款生产环境全链路压测开源产品,可以较大程度地帮助企业降低生产全链路压测平台的开发复杂度,在无业务代码侵入的情况下,获得链路治理、数据隔离、性能瓶颈定位等生产压测核心能力。

Takin 的开源模块

Takin 开源内容主要包括三个部分:Agent 探针、控制中台以及大数据模块。在 Java 应用程序中植入探针(agent),它能收集性能数据、控制测试流量的流向,将数据上报给大数据模块,大数据模块会进行一些实时计算并对数据进行存储,控制台则负责这些业务流程的管理和展现。三个部分各司其职,为业务提供无代码侵入的、常态化的生产环境全链路压测服务。
在这里插入图片描述

GitHub 开源地址如下:

https://github.com/shulieTech/Takin

开源社区:
https://news.shulie.io

共收到 5 条回复 时间 点赞

全链路压测的主要工作在于基础设施和系统架构的适配,可以说根本不在压测工具这边,你系统改造好了,拿个 jmeter 模拟端头发请求都可以,流量自然而然的传递到下游。换句话说,从压测工具出发谈全链路压测的都是噱头。

递归思念 回复

我们的软件已开源,欢迎您来试用,再提出您的意见~

支持楼上。
------------- 引用 --------------
微服务架构在现代系统架构中已被普遍使用,业务复杂性和系统复杂性双重作用使得保障和维持整个系统的高可用性变得困难异常,同时对研发效率也有较大负面影响。为了解决性能瓶颈保证系统的高可用,需要对系统实施性能测试,但传统的性能测试有仿真性、局部性和黑盒性三大问题。
仿真性:传统的性能测试通常在测试环境或者性能环境实施,但这些环境都只是对生产环境的仿真,无法真正代表生产环境。
局部性:传统性能测试有时会在生产环境的单一局部服务实施,或者只压测读类型的接口,但局部高可用不代表整体链路的高可用。
黑盒性:传统的性能测试只能获得 TPS 等性能结果,无法在复杂的微服务架构系统中定位和分析存在性能瓶颈的服务节点。
------------- 引用 --------------

1,事实上,全链路压测是需要系统架构改造,并不是说,使用了某工具就能实施全链路压测。当一天没实施改造完成,最有效的方式,还是仿真线上环境,实施性能测试。
2,局限性,根本就是性能测试的策略问题。这个跟工具有关吗?当有足够的资源,完全可以克隆一套线上环境。还会存在所谓局限性吗?
3,黑盒性,压测工具能够获取到 TPS,耗时分布等数据已经是足够了。至于系统中的瓶颈,难道没监控系统吗?难道测试人员和开发人员不会分析吗?从系统资源占用,压测工具的数据 (TPS,耗时等),基本上可以分析到压测过程中的问题,瓶颈。

4楼 已删除

都是大佬,坐下学习学习

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册