32 | 压力测试:怎样设计全链路压力测试平台?
该思维导图由 AI 生成,仅供参考
什么是压力测试
- 深入了解
- 翻译
- 解释
- 总结
全链路压测是保障系统可用性和稳定性的重要手段,本文介绍了全链路压测的概念和搭建全链路压测平台的关键点。全链路压测需要考虑流量的隔离和风险控制,平台包含流量构造和产生模块、压测数据隔离模块、系统健康度检查和压测流量干预模块。文章详细介绍了压测数据的产生过程,强调了流量拷贝的方式和压测流量染色的重要性。在实施压力测试时,需要设立明确的测试目标,并逐步增加流量,观察系统性能表现。文章还提到了开发流量监控组件来及时发现性能瓶颈,并对系统进行监控和告警。全链路压测平台的搭建对于保障系统稳定性至关重要,有助于发现系统中存在的性能隐患,特别是在高并发大流量下进行测试,从而提高系统的稳定性和可用性。文章还强调了全链路压测系统的三方面价值:发现性能瓶颈、容量评估和预案演练。建议读者在系统流量快速增长时考虑搭建全链路压测平台,以保证系统的稳定性。
《高并发系统设计 40 问》,新⼈⾸单¥59
全部留言(19)
- 最新
- 精选
- 阿土我所在的团队,因为没有资源提供影子库,所以一直做不起来真正的全链路压测。规划的很美好,就因为没有存储隔离,所有的东西都成了泡影。另外,业务系统领导对于系统改造支持压测也不支持,这就造成无法实施。所以目前的全链路压测都是固定的几个账号,几个商品。得到的结果可信度也有限
作者回复: 其实如果没有做影子库,可以只做下行流量的压测(读请求),一般读多写少,其实也可以大致反应你的系统的容量
2019-12-06219 - 新世界老师:流量复制和重放后的响应对比有什么工具推荐吗?还是自己去写解析?
作者回复: goreplay,tcpcopy
2019-12-1314 - 天天向善是不是我这样理解,购买商品下单要存储到影子库,第三方支付用mock,支付的回调也mock
作者回复: 是的~
2019-12-069 - 问题究竟系边度如果服务里面有线程池,异步操作如何染色,发送mq消息之类怎么处理。
作者回复: 好问题! 1. 线程池的话 需要改造,把标识传到异步任务里面 2. mq也是 可以把标识放到消息体里面
2020-04-2657 - 电光火石老师你好,有个问题,压测的流量和正常的流量是否需要分流,比如说正常的访问把他分流到某几台机器上,压测的流量把他分流道几台机器上,做物理隔离? 做的话,因为后面都是一堆的服务,如果每个服务都做分流,复杂度还是蛮高的;不做的话,是否会相互影响,尤其影响到线上流量? 谢谢了!
作者回复: 这个其实是不需要的,如果能做到水位监测就可以在系统出现问题时及时的停掉压测流量
2019-12-176 - 新世界线上真实环境也是用goreplay做的流量拷贝吗?我最近也在做,但是用goreplay cpu使用率瞬间很高,担心影响线上真实系统,我想请教下老师,你们线上真实环境也是用goreplay 做流量拷贝吗?启动goreplay后也是cpu使用率很高吗
作者回复: 没有遇到过CPU使用率高的情况,我们在线上压高峰五倍左右的流量,没有看到问题
2019-12-135 - 古德如果是一个新系统还没有上线,是不是就没法通过拷贝流量的方式去做全链路压测了? 另外,如果要对拷贝的流量进行加速重放,有开源的工具能实现吗
作者回复: 是的,那样只能模拟流量了。工具的话我用的比较多的是goreplay,已经在github上开源
2020-03-224 - 电光火石线上做压测,除了技术问题外,还有观念问题,很多人不敢做,怕出事情背锅
作者回复: 这个确实是的,以前有个合作团队也是这个观念。其实是不用的,只要做好监控,是可以在线上压测的
2019-12-144 - mghio公司资源和人力有限,目前只做了些主要功能接口压力测试,全链路压测对小公司感觉比较难完成
作者回复: 全链路压测并不复杂,可以结合业务特点只压测读流量或者写流量
2020-05-11 - 惜心(伟祺)讲的好棒
作者回复: 谢谢~
2020-02-15