生产全链路压测常态化方案
时间:2021-09-10
本文章向大家介绍生产全链路压测常态化方案,主要包括生产全链路压测常态化方案使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
前段时间有次大半夜熬夜写方案,顺带整理了在上家公司做性能基线和常态化压测的方案,仅供参考。
前置条件
全链路压测已在生产环境落地!
流程机制
准备阶段
一、测试环境
1、确认被测链路变更范围
- 每次版本发布或线上进行变更,都需要压测,第一步首先确认本次被测链路的变更范围,主要有如下几点:
- 被测链路变更范围涉及的业务场景;
- 被测链路对应的接口以及本次变更涉及的字段——评估需要重新准备的压测数据;
2、表结构同步&服务发布
- 测试环境功能验证通过后,表结构变更到压测环境/预发环境/压测环境;
- 如果有多套环境,建议选择某个环境为基准环境,一切表结构变更从基准环境自动变更到其他测试环境;
- 被测链路对应的服务分支发布;
3、脚本调试&数据准备
- 准备相关测试数据——最好能有自动化的数据准备机制,这样能节省很多时间;
- 复用已有压测脚本,更新本次被测链路设计的接口及脚本;
- 建议梳理出线上核心业务的P0-P2接口,提前准备脚本,基本是个一次性的工作;
4、准备事项检查确认
- 检查测试数据准备情况,是否已完全准备好;
- 检查测试脚本调试结果,是否已调试通过;
- 建议:梳理一个checklist,形成一个长期的SOP机制;
5、压测流量试跑验证
- 在测试环境/压测环境进行压测验证,确保相关变更和准备工作都已完成,避免遗漏;
二、生产环境
1、表结构同步&服务发布
重复上述测试环境的步骤即可(形成机制,按照机制执行,分工明确);
2、脚本调试&数据准备
重复上述测试环境的步骤即可(形成机制,按照机制执行,分工明确);
3、准备事项检查确认
执行checklist,确保没有遗漏;
4、压测流量试跑验证
小范围小流量压测试跑验证,检查正确性;
实施阶段
1、设定SLA阈值
压测任务正式开始前,设定并检查压测的SLA阈值,确保压测流量不会导致生产服务负载过高出现异常;
2、执行压测任务
按照制定好的压测任务,启动执行压测(可以设置为定时任务,避免通宵);
3、报告汇总&过程复盘
- 收集压测相关数据,输出报告;
- review每次压测任务过程中出现的问题和不足,跟进落地后续行动;
结束
1、改进措施&后续Action
确认后续Action的落地情况,不断优化过程,形成线上性能基线机制,为容量规划提供更好的决策;
转载请注明出处,商用请征得作者本人同意,谢谢!!!
原文地址:https://www.cnblogs.com/imyalost/p/15250491.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android RecyclerView设置下拉刷新的实现方法
- Android 动态添加view或item并获取数据的实例
- Centos7实现MySQL基于日志还原数据的示例代码
- Android 三种延迟操作的实现方法
- 基于Android在布局中动态添加view的两种方法(总结)
- Android向node.js编写的服务器发送数据并接收请求
- Android startActivityForResult和setResult的区别
- Linux系统使用Fuser命令的方法
- Android实现地理定位功能
- Android实现在ServiceManager中加入自定义服务的方法详解
- Android studio so库找不到问题解决办法
- Android使用ViewPager实现屏幕滑动效果
- Android 自定义view实现进度条加载效果实例代码
- Android电池电量监听的示例代码
- Android 解决ScrollView嵌套CridView显示问题