内容简介:我们经常在性能测试和压力测试的时候发愁,如何模拟线上真实流量还原现场使用情况对于我们来说是个大挑战。通常情况下,我们会从数据库中找出用户访问的数据和请求来模拟历史访问,这样做需要做大量的脚本和数据分析工作。现在好了滴滴开源RDebug工具可以录制线上的真实流量,并且可以通过回放的方式对系统进行测试。帮助我们实现性能测试和压力测试,并且可以快速的对高峰访问情况进行复盘。我们一起来看看吧。地址:https://github.com/didi/rdebug/blob/master/README_zh_CN.md
我们经常在性能测试和压力测试的时候发愁,如何模拟线上真实流量还原现场使用情况对于我们来说是个大挑战。通常情况下,我们会从数据库中找出用户访问的数据和请求来模拟历史访问,这样做需要做大量的脚本和数据分析工作。现在好了滴滴开源RDebug工具可以录制线上的真实流量,并且可以通过回放的方式对系统进行测试。帮助我们实现性能测试和压力测试,并且可以快速的对高峰访问情况进行复盘。我们一起来看看吧。
GitHub开源
地址:https://github.com/didi/rdebug/blob/master/README_zh_CN.md
目前有700左右的星星了。
鉴于微服务具有易于扩展、部署简单、技术异构性等优点,越来越多的服务都在采用微服务的架构模式。一个复杂的单体服务通常会被拆分成多个小的微服务,当然在享受微服务带来的一系列便利的同时也要接受因为微服务改造带来的问题:需要维护的服务数变多、服务之间 RPC 调用次数增加……
在服务化改造完成之后,原来的单体服务演化成一堆微服务,这就造成线下开发测试环境维护成本大大增加,其次线下环境涉及到的部门较多,维护一个长期稳定的线下环境也是一个挑战;业务快速发展、需求不断迭代,手写单测又因复杂的业务逻辑以及复杂的服务调用需要 mock 多个下游服务,导致手写单测成本特别的高;手动构造数据,又不够全面真实。以上问题都严重影响 RD 的研发效率,并且增加线上发生事故的隐患。
主要功能
流量录制: 即录制线上服务的真实请求,包括调用下游服务的 RPC 请求。流量录制的难点在于如何将上下游请求以及每次 RPC 的请求/响应一一对应。
流量回放: 即用线上录制的流量,对线下测试代码进行回放,通过流量匹配 mock 掉下游 RPC 请求。因此,流量回放的难点在于请求的拦截和匹配。三种方式的回放:下载源码回放、midi.phar 包回放、composer bin 回放。
架构
通过Koala和Koala-libc 作为核心代码,实现底层库
Koala是 Go 编写的,Libc用了部分C++完成
https://github.com/didi/rdebug/blob/master/koala/README.md
生成报告
以上所述就是小编给大家介绍的《还为模拟流量测试发愁吗?!滴滴开源RDebug流量回放工具!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了
- 缓存架构设计,从此不再发愁
- 献给还在为涨薪发愁的Java程序员们的一篇文章
- 还在为英语学习发愁吗?身为程序员的你可能需要这样一份“宝典”(上)
- 还在为万圣节穿什么发愁?AI给出的这份穿搭建议你敢试试吗
- 科普:什么是上行流量什么是下行流量
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。