赵成的运维体系管理课
赵成
《进化: 运维技术变革与实践探索》作者
37829 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 49 讲
开篇词 (1讲)
效率和稳定性最佳实践 (20讲)
赵成的运维体系管理课
15
15
1.0x
00:00/00:00
登录|注册

23 | 稳定性实践:容量规划之压测系统建设

流量模拟
线上流量引流
线上流量回放
RPC接口
HTTP接口
写流量处理
读流量构造
压测任务推送
压测数据构造
压测脚本生成
流量构造方式
接口类型
多链路/全链路压力测试
单链路压力测试
单机单应用压力测试
系统性能优化
容量扩缩容调整
系统容量和性能验证
容量的压力测试
数据读写
施压方式
压测接口及流量构造方式
压测粒度
场景模拟
压力测试系统的建设
容量规划离不开对业务场景的分析
容量规划:如何建设压力测试系统?

该思维导图由 AI 生成,仅供参考

容量规划离不开对业务场景的分析,分析出场景后,就要对这些场景进行模拟,也就是容量的压力测试,用来真实地验证系统容量和性能是否可以满足极端业务场景下的要求。同时,在这个过程中还要对容量不断进行扩缩容调整,以及系统的性能优化。
今天,我们就来看压力测试的技术实现方式:压力测试系统的建设。我们详细讲讲压力测试的几个维度。

第一个维度,压测粒度

压测粒度上,我们一般会遵照从小到大的规律来做。
1.单机单应用压力测试
优先摸清单个应用的访问模型是怎样的,再根据模型进行单机单应用压力测试。这时我们就可以拿到单个应用和单个应用集群的容量水位,这个值就是后续我们根据业务模型分析之后扩容的基础。
2.单链路压力测试
获取到单个应用集群的容量水位之后,就要开始对某些核心链路进行单独的压力测试,比如商品详情浏览链路、加购物车链路、订购下单链路等等。如下图的交易下单链路压测模型示例,连线上的数字是不同应用或接口调用的流量占比。
3.多链路 / 全链路压力测试
当单链路的压测都达标之后,我们就会组织多链路,或者全链路压测。多链路本质上就是多个单链路的组合,全链路就是多链路的组合。如下图就是多个交易场景的多链路组合。

第二个维度,压测接口及流量构造方式

接口一般分为 HTTP 接口和 RPC 接口,这一点应该不难理解,就不做过多讲解了。
流量构造方式上,根据压测粒度的不同,会采用不同的方式,我们常见的有以下几种方案。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

容量规划是建设压力测试系统的关键环节,通过对业务场景的分析和模拟压力测试,可以验证系统容量和性能是否满足极端业务场景的要求。文章从压测粒度、压测接口及流量构造方式、施压方式和数据读写四个维度详细介绍了压力测试系统的建设。在压测粒度上,从单机单应用压力测试到多链路/全链路压力测试,逐步深入模拟业务场景。在压测接口及流量构造方式上,介绍了线上流量回放、线上流量引流和流量模拟等不同方式。施压方式方面,通过配置压测场景、构造压测数据和施加压力流量实现对线上系统的压测。在数据读写方面,特别强调了对写流量的特殊处理,以避免对线上数据造成污染。整体而言,文章详细介绍了容量规划和压力测试系统的技术实现方式,为读者提供了全面的技术方案和建设思路。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《赵成的运维体系管理课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(8)

  • 最新
  • 精选
  • Alpha张少宇
    赵老师,请问session放在cookie中,安全性如何处理?

    作者回复: 只针对有压测标的测试请求做这样的处理

    2018-03-27
    2
  • 陈文凤
    刚看到各种session问题,请问你们一般怎么解决的?

    作者回复: 放到cookie中存储和检验,跳过登陆环节

    2018-03-05
  • 陈文凤
    刚看到各种session问题,请问你们一般怎么解决的?
    2018-03-05
    1
  • 莎莎
    影子库可以详细说下吗老师
    2022-04-19
  • 迷城 。
    影子库如何保证和生产库结构一直
    2021-03-18
  • James-东方
    赵老师,有个问题,就是不管何种测试方式,特别是在全链路压力测试的时候,虽然我们可以得到相对应的输入输出关系,但是,如何保证在实际线上(流量可能是50-100倍以上)其表现也是线性的? 我的实际问题是,如果我们测得每个单个应用都是线性的,把所有串联得来的系统是否还是线性的? 这个点貌似无法证明。 如果这样的话,压力测试如何起到预测的作用呢?
    2020-09-04
    1
  • James-东方
    @赵老师,2020还在学您的课程,听了以后收益匪浅! 想问两个问题, 1.对于容量规划,如果在云的INFRA下,做压力测试应该注意什么? 2. 如何保证压力测试能够跟得上容器变化的速度(我的意思是,很可能今天是AWS,明天就是GCP,或者EKS了)底层资源总是变化的话,模型如果更好的自动转化?
    2020-09-03
  • Geek_2b6807
    感谢老师,很多值得借鉴和落地的想法
    2019-07-28
收起评论
显示
设置
留言
8
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部