性能测试利器工具来了,生产环境全链路压测工具
国内知名的系统高可用专家数列科技宣布开源旗下核心产品能力,对外开放生产全链路压测平台产品的源代码,并正式命名为Takin。
目前顺丰科技、希音、中通快递、中国移动、永辉超市、爱库存、浙江大学等50+行业头部公司都采用了该技术,10万+探针同时线上运行,每天实时处理数百亿条用户请求,生成数百TB链路数据。目前,该项目已在Github上发布,作为全球首款开源的全链路压测平台,Takin的开源将为更多企业提供超低门槛、超低成本、超高效率的性能保障能力。
什么是生产环境全链路压测?
全链路压测是一种使用最低成本,使系统达到最确定的性能目标的方法,能够保障业务的连续性,让IT系统具备反脆弱能力和快速定位问题能力。
IT系统是工程师结合具体的业务场景基于一系列的基础组件进行编码搭建而成的,基础组件本身的局限性,以及代码的不确定性,会使整个系统存在很大的不确定性,这种不确定性会让系统在面临一系列“风险”场景(高峰场景)时,表现得很脆弱,那该如何让系统具备反脆弱能力呢?
通过生产环境全链路压测,真实模拟“风险”业务行为场景,实时监控系统表现,提前识别和快速定位系统的中的不确定因素,并对不确定因素进行处理,优化系统资源配比,使用最低硬件成本,使系统从容面对各种“风险”场景,达到预期的系统性能目标。通过这种方法,在生产环境上落地常态化稳定压测体系,实现IT系统的长期性能稳定治理。
性能测试经历了从线下到线上演变的四个阶段:
需求驱动压测阶段
需求驱动压测,大多采用简单的工具进行单接口或者单系统压测,也能进行一些简单的性能问题分析,但很多时候都没有专门的测试团队,需要开发进行自主压测。
2
性能回归体系阶段
组建专门的性能测试团队搭建线下性能测试质量平台,具备复杂场景全链路压测能力、性能问题定位能力。
在这一阶段有三个问题比较有代表性:
很多公司线下做了性能测试,但到了线上还是存在很多问题,以测试环境的压测结果来评估线上环境,效果不佳。
业务增长、营销活动增加使测试工程师对活动保障心里没底,每逢营销活动问题频发影响公司形象。
性能压测效率无法满足增长的性能压测需求,导致部分项目没有性能压测直接上线,线上故障频发。
为了解决测试环境性能压测的不确定性,性能压测开始向生产环境进行演变,进入生产环境性能压测阶段。
产只读业务压测阶段
在测试环境回归体系阶段上增加了生产只读业务的性能压测,对生产环境压测进行实践,搭建生产环境性能压测回归体系,具备只读业务生产压测的性能问题分析能力。
4
全业务全链路压测阶段
在上一个阶段的基础上增加写入业务的性能压测,进而开展对全业务实行全链路压测,具备全业务的性能压测能力、问题定位能力,做的更好一些还会增加系统防护能力,比如降级、限流、故障演练等。
Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834app功能测试和性能测试课程https://edu.csdn.net/course/detail/36166
软件测试全栈系列课程https://edu.csdn.net/course/detail/30898
为什么要开源?
正如数列科技CEO曹学锋在接受InfoQ专访时表示“我们开源Takin的初衷其实很简单,就是想让更多的企业用上好的产品,帮助企业提供更好的用户服务体验,释放更多的精力去拓展业务。相信大家的使用反馈对于产品本身的发展迭代也是具有正向作用的,互惠互利实现良性循环。”
目前大多数企业仍在使用传统的性能压测方式,但随着分布式、微服务架构的发展,这种方式已经无法满足系统性能的保障,数列科技决定把这款生产环境全链路压测产品开源出来并正式命名为Takin。
当然Takin要做的不止于此,开源最大的特性在于开放包容与创新。希望产品开源能以开放的工作方式激发技术创新,吸引更多业界优秀的开发人员加入到生产环境全链路压测技术的共创团队中,让技术更落地,连接不同的使用场景。
什么是Takin?
Takin是基于Java语言开发的一套生产全链路压测的系统,可以在无业务代码侵入的情况下,嵌入到各个应用程序节点,实现生产环境的全链路性能测试,适用于复杂的微服务架构系统。
Takin具备以下4个特点:
(1)业务代码0侵入:在接入、采集和实现逻辑控制时,不需要修改任何业务代码;
(2)数据安全隔离:可以在不污染生产环境业务数据情况下进行全链路性能测试,可以在生产环境对写类型接口进行直接的性能测试;
(3)安全性能压测:在生产环境进行性能压测,对业务不会造成影响;
(4)性能瓶颈快速定位:性能测试结果直接展现业务链路中性能瓶颈的节点。
-
Takin开源了哪些内容?
Takin开源内容主要包括三个部分:Agent探针、控制台以及大数据模块。在Java应用程序中植入探针(Agent),它能收集性能数据、控制测试流量的流向,将数据上报给大数据模块,大数据模块会进行一些实时计算分析并对数据进行存储,控制台则负责这些业务流程的管理和展现。三个部分各司其职,为业务提供无代码侵入的、常态化的生产环境全链路压测服务。
-
GitHub开源地址如下:
Takin:
https://github.com/shulieTech/Takin
开源社区:
https://news.shulie.io/?p=3024(了解详细操作文档)
未来任重而道远,秉承着帮助企业解决微服务架构治理及性能问题的初心,Takin可以较大程度地帮助企业降低生产全链路压测平台的开发难度,真正做到为更多企业系统的性能和稳定性提供保障。
数列衷心希望Takin能和业界携手,共建更完整、更标准化的生产全链路压测生态圈。
-
Jmeter高级性能测试实战https://edu.csdn.net/course/detail/35834
app功能测试和性能测试课程https://edu.csdn.net/course/detail/36166
软件测试全栈系列课程https://edu.csdn.net/course/detail/30898
性能测试利器工具来了,生产环境全链路压测工具相关推荐
- 首个生产环境全链路压测平台Takin正式开源
6月25日,国内知名的系统高可用专家数列科技宣布开源旗下核心产品能力,对外开放生产全链路压测平台产品的源代码,并正式命名为Takin. 目前中国人寿.顺丰科技.希音.中通快递.中国移动.永辉超市.爱库 ...
- 推荐一款国内首个开源线上全链路压测平台
关注上方"测试开发技术",选择星标, 干货技术,第一时间送达! 开课通知:重磅消息 | 2021年最新全栈测试开发技能实战指南(第2期) 前不久国内知名的系统高可用专家数列科技宣布 ...
- 分布式系统如何做好全链路压测?
随着互联网的发展,各行业均在大力开展数字化转型,这意味着传统线下服务均在整体线上化,各行业信息系统都在像互联网行业一样面对流量洪峰的压力.所以各行业IT系统均开始利用分布式架构增强系统应对流量洪峰的压 ...
- 全链路压测:影子库与影子表之争
01 业界盛传的全链路压测是什么 Aliware 全链路压测诞生于阿里巴巴双 11 备战过程,如果说双 11 大促是阿里业务的"期末考试",全链路压测就是大考前的"模拟考 ...
- 全链路压测体系建设方案的思考与实践
在阿里淘宝 双11 的过程中,长期以来都是在生产环节做全链路压测的,通过实践我们发现在生产环境中做压测,实际上会和一个 IT 组织的结构.成熟度.流程等紧密相关,所以我们把全链路压测从简单的制作范围内 ...
- 阿里巴巴:全链路压测体系建设方案的思考与实践
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 在阿里淘宝 双1 ...
- 阿里技术解密:全链路压测体系建设方案的思考与实践
在阿里淘宝 双11 的过程中,长期以来都是在生产环节做全链路压测的,通过实践我们发现在生产环境中做压测,实际上会和一个 IT 组织的结构.成熟度.流程等紧密相关,所以我们把全链路压测从简单的制作范围内 ...
- 互联网广告请求链路_生产环境的全链路压测应该怎么做?答案都在这里了
"双11前最后一次全链路压测,所有技术.系统.安全策略与应急预案被一一演练.流量峰值,一秒内有几千万次请求,这意味着一秒会产生数百万次交易."这是2018年阿里双十一前夕战况.随着 ...
- 性能测试的价值、全链路压测了解
一.有价值的性能测试需要满足什么 1. 性能测试与性能分析要有明确的数据证明调优的效果. 性能测试人员/团队要有能力给运维一份性能测试报告+配置文档+风险说明. 2. 性能测试与性能分析的价值要体现在 ...
最新文章
- 论jquery与vuejs结合时的部分问题
- 【python-numpy 】中的随机打乱数据方法np.random.shuffle
- linux python开发环境_如何在Linux系统中搭建Python编程环境
- 商业计划书最好就是十页篇幅
- java定义一个方法,返回a的b次方
- 第十四节:ES6的 Iterator 遍历器到底是什么?
- 中国大学MOOC“Python程序设计基础”第6次开课时间
- 使用 Solr 构建企业级搜索服务器
- 51Nod-1486 大大走格子
- 成人高考想学计算机专业,成人高考计算机类专业有哪些?
- IEEE期刊如何查找论文模板
- 微积分:2.1导数中的中值定理
- php中exec的用法,php exec用法详解
- 防火门可以根据EN 1634-1 标准测试吗?
- AD831混频器模块
- python keyboard hook_[python] PyMouse、PyKeyboard用python操作鼠标和键盘
- RTP打包G711音频数据发送
- diy 单片机 自动浇花_基于单片机的自动浇花系统
- 【8.6】代码源 - 【前缀集】【矩阵游戏】【谁才是最终赢家?】【放置多米诺骨牌】
- cesium 根据SampledPositionProperty与timeline实现轨迹回放功能(跟随视角、上帝视角) 详细代码与理解记录
热门文章
- 漫画丨让你专心干技术,没让你干到35岁啊…
- 如何在20分钟内批量部署20台ESXi服务器?
- AD账户频繁被锁定-开启日志审核策略
- 华为调研了82位离职博士,任正非发电邮深讨人才流失根源
- Java设计模式学习总结(7)——结构型模式之适配器模式
- android ffmpeg 解码,如何在Android用FFmpeg解码图像
- ABP框架系列之六:(Value-Objects-值对象)
- 绝佳时机,前所未遇,让艰巨作业全自动化
- 局域网内两台9303 的管理vlan mac地址冲突解决方法
- [转]Ionic系列——CodePen上的优秀Ionic_Demo