2021-04-15 kk日记,415系统支持战况总结
背景
今日公司进行面膜新品发布,新品分享有奖裂变活动,活动效果很好,异常火爆,可是系统很不争气挂了20分钟,作为系统支持的负责人觉得很惭愧,夜不能眠,在进行深深的自省。
过程回顾
作为系统支持负责人我是有一套系统稳定支持的理论:
- 活动方式/内容的理解
- 活动风险的评估
- 活动所需资源的评估
- 活动产品基础数据在系统核对
- redis扣库存
- 生产验证
- 活动核心链路压测
- 服务台的故障时的指引与术语
- 限流的制定
- 慢URL的梳理
- 应急措施的制定
- 集思广益的风险梳理
- 活动前24小时变更冻结
- 现场支持人力锁定
为什么还是挂掉?
为什么还是挂掉呢?是我的套路不行,还是我空有一身“内功”没有好的“武功”和“宝剑”发挥出来?
武功和宝剑
千里眼和顺风耳
- apm工具,可以助我实时掌握系统的流量、吞吐量和响应时间、系统错误的定位。
- aiops/grafana系统及应用组件资源使用实时监控
屠龙刀和倚天剑
- aiops的自动扩容助我快速完成节点的纵向和横向扩容
- 流控系统,助我完成全站和个别URL的流量塑形。
战队
我有一帮好兄弟,通力合作:
- 活动产品负责人尽心完成基础数据的录入,核对,生产测试。
- 有开发测试好兄弟完成功能开发,功能测试,压力测试打磨系统的处理能力。
- 有基础架构的伙伴们提供计算、网络、安全资源
- 有运维开发的小伙伴打造监控,自动化利器。
- 有稳定支持的伙伴们全程关注,随时准备系统救援。
- 还有服务台的小伙伴全程的前端体验和客户故障引导。
战况
- 开局:13:30 分,全部小伙伴就位。13:45观察到流量攀升,发出预警,13:50稳定性支持的伙伴发现后台出现大量报错,向开发测试发出预警评估是否影响活动,并得到及时响应。直到13:59,系统响应正常。
- 冲击:14:00,活动开启,结果14:01,apm利器显示系统响应变慢(访问量是历史峰值6xxx,是过往的2倍),活动前端使用体验官(服务台)警告前端白屏,请求超时。稳定支持的团队立刻检查各组件使用情况,资源飙升厉害,但未到临界线,**此时不确定问题所在 **,于是我立刻执行全站限流,确认后备方案APP端是可以使用,然后指引服务台的兄弟及时与市场沟通;紧接着奔赴开发测试身边确认问题是否与之前的报错是否有关。
- 变阵:14:15 确认问题所在,对问题URL(历史峰值每秒处理350rps,实质上平均响应时间8秒,估计次数请求处理占用大量应用线程)实施限流,流速240rps,全站限流打开以最大量满足用户需要;执行扩容。
- 初见成效:14:20 系统使用体验陆续恢复
- 收尾:受到到开闸冲击,部分组件出现假死状态,系统依然不太稳定,偶发出现超时,稳定支持团队有序重启组件重整资源。系统使用恢复。
复盘
- 有利器,有好伙伴,为什么开局失利呢?本次活动主要瓶颈于小程序调度微信公共接口code2session,在并发量超过150rps,返回时间在1s以上,当并发量达到350时,返回时间是8秒,此时我小程序自身timeout时间是3秒,自身选择退出,由于改接口强依赖,这个接口失败后,代码运行不下去,前端白屏。
- 为什么在慢URL没有检查出来,在apm工具中显示在接口在非活动时间并发量底,响应时间短,我们检查规则,按调度次数和95线响应时间,最大响应时间综合纬度评估是发现不了它的存在。
- 如何更有效安抚客户/业务代表,加强和服务台的紧密合作和信息共享,由服务台及时有序通告“战况”。
以后要怎么做
- 外部/跨平台调用一律不信任,采用限流方式控制住最佳吞吐和响应时间比。
- 完整梳理一次外部/跨平台调度接口。
- 接口最大能力的获知,全站URL/API按实质能力配置限流。
- 制定落实战况沟通机制,组建作战室,指挥中心。
- 完善故障根因智能分析工具/平台。
感概
其实我并不想讲每次活动的流量都是过往的几倍来解释/开脱故障,我更想说我们的系统平时就像一个懒人那样,不常做运动,很多指标看着正常,其实都是亚健康。我更希望多做活动,让系统天天跑步锻炼,而不是突然间让他跑马拉松或200米冲刺跑,如果活动变成日常化,常态化,系统天天得以锻炼,我们的武功不要生疏,宝剑利器不要生锈,我相信即使跑马拉松和打大战役,也是没有问题的
2021-04-15 kk日记,415系统支持战况总结相关推荐
- 社招面经: 联易融Java开发一面2021.04.15
项目介绍 项目使用的架构技术体系SpringCloud.Spring.SpringMVC.Springboot.Mybatis.Mybatis-plus(该公司招聘需求上有就介绍了).Nacos.Re ...
- (四十四:2021.04.15)《Methodology Camp》——Chapter 2:Pieces
<Methodology Camp :Pieces> 讲在前面 **问题一**:工作时别人给我手机发消息,要不停看手机,我想在pc上操作我的手机,怎么办? **问题二**:作为一个编程领域 ...
- Russ Cox:这不是Go项目的标准布局 | Gopher Daily (2021.04.28) ʕ◔ϖ◔ʔ
每日一谚:Profile before you decide something is performance critical. Go技术生态 Go web开发的当前状态 - https://tno ...
- 鸿蒙系统支持980,鸿蒙手机上线时间 鸿蒙系统支持哪些手机2021最新汇总
鸿蒙手机来了,从2019年公布到现在的正式发布,没想到华为这么迅速,而且华为EMUI微博更名HarmonyOS,在Android与iOS这两座大山面前,大家觉得鸿蒙系统值得更新体验吗?目前来说鸿蒙系统 ...
- 《惢客创业日记》2021.09.15(周三)套路的最高境界
今天,凉粉儿给我发了一段她想的关于惢客的宣传词:"你被套路过吗?想不再被套路吗?上惢客."总结一句话是"不被套路上惢客".我觉得能把惢客跟套路联系在一起,很贴切 ...
- 2021年春季学期-信号与系统-第十二次作业参考答案
▓ 第十二次作业各个小题参考答案: 2021年春季学期-信号与系统-第十二次作业参考答案-第一小题 2021年春季学期-信号与系统-第十二次作业参考答案-第二小题 2021年春季学期-信号与系统-第十 ...
- 2021年春季学期-信号与系统-第三次作业参考答案-第六道题
本文是 2021年春季学期-信号与系统-第三次作业参考答案 中的参考答案. ▌第六道题 6.给定系统微分方程: 若激励信号和起始状态为以下两种情况: (1) e(t)=u(t),r(0−)=2,r′( ...
- Ubuntu 18.04从源代码编译安装GPU支持的Tensorflow 1.8.0
当我第一次使用Linux时,我想要做的第一件事就是安装GPU版本Tensorflow.我找到了一个很好的指南.但即使考虑到这一点,我也花了超过40个小时的安装.这篇文章我想节省你的时间,分享自己的经验 ...
- 《安富莱嵌入式周报》第209期:2021.04.19--2021.04.25
往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 ...
最新文章
- 理解 Delphi 的类(十) - 深入方法[28] - 递归函数实例: 搜索当前目录下的所有嵌套目录...
- Dom 学习总结及其实例
- 捡到银行卡套取密码取现1万多元,犯了信用卡诈骗罪被判7个月
- Win11系统自动暂停更新后想继续怎么办 Win11系统重新启动更新教程
- 程序员到底是一种什么样的存在?
- 《数学与生活》的3本书籍
- 策略模式(headfirst设计模式学习笔记)
- 分享 :用五个趣味案例教你数据分析的基本思想
- 如何在NVIDIA(英伟达)官网下载老版本Toolkit-SDK---例如下载CUDA Toolkit 8.0
- php 如何执行top命令,批处理模式下运行 top 命令的方法
- ios md5 原理_iOS实现MD5加密
- OpenCV图像处理基础操作(1)
- Spring MVC 全局异常处理(1) --HandlerExceptionResolver
- 字节码指令之类型转换指令
- 【运维工程师】运维工程师日常摘记
- 龙卷风路径_中国科普博览_大气科学馆
- 【路由器连接天翼网关2.0问题解决思路】
- [NOIP2016PJ]魔法阵
- HAL库配置STM32F1系列PWM驱动步进电机(一)
- Dreamweaver CS 5 快捷键大全