聊聊性能:全链路压测 overview

全链路压测是保障业务稳定性,用户体验的重要手段,从宏观角度,我觉得全链路压测的作用和意义可以抽象为3个: 发现问题,定位和止损问题,预见问题。

01

发现问题
如何有效识别线上问题?

现有的流程能够保证开发环节, 集成环节,预发灰度,线上; 由于真实的线上环境往往很复杂, 经常发生的一个问题是我们在现在测试,功能,性能等等, 线上还是出现问题。

全链路压测解题的角度是“真实的用户场景”和“真实的线上环境”。

线上无小事,直接针对线上必然会有一定风险,围绕这个问题,需要解决几个问题:

a. 数据构造 ,如何构造真实线上流量,引流,回放;(当然过程中很多问题需要解决,如何设置接口比例,

b. 流量识别 ,针对不同中间件标记压测流量,HTTP, RPC, MQ等如何识别压测流量;

c. 数据隔离 ,不污染线上数据,如存储、缓存、消息、日志等;

d. 施压环境 ,并发控制,请求效率,基于jmeter的BIO,还是Gatling的NIO,抑或是自己封装的IO模型, 不同的机房, 不同的CDN;

e. 第三方服务依赖 。

02

定位和止损问题
从工程效率的角度, 全链路压测需从业务要对线上业务非常了解,从专业性的角度,需要对压测有很强的专业能力。如何快速识别异常指标,

a. 指标 ,IOPS, 吞吐量,响应时间,延时,使用率,饱和度,瓶颈,工作负载,缓存。

b. 链路 ,链路诊断,瓶颈等;

c. Performance tuning , use(utlization、saturation、error)方法, 工作负载特征归纳、缓存,数据库等各种调优,等等;

d. 熔断,降级,限流,开关等策略 ;

e. 报告 。

03

预见问题
不在同一个坑摔倒两次,如果预见未知的问题, 如果基于已有的问题预见未来可能的问题, 进而提升线上运维,能力。

a. 容量规划 , 资源极限,因素分析,负载均衡,分片等;

b. 架构调优;

c. 故障演练。

04

其他 - 权衡三角
考虑当前团队所处的的状态,先僵化、后优化、再固化,还是那两个字“权衡”。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值