如何进行大促备战---大促备战TODO

背景:

在阿里经历过3年双11大促,从事云相关工作之后,发现经常会有各类云上客户面临大促护航需求,借此文总结下常规的大促备战都需要做些什么,我们需要从哪些方面入手去备战,尽量避免遗漏,做到大促平稳顺滑。

大促备战该从何入手,具体做些什么

1)第一阶段:业务梳理,架构整合,流量预估

   1.1 业务梳理

        在备战大促的过程中,我们首先需要对我们的整套系统所有应用进行梳理,了解哪些应用会面临大促的压力,哪些与大促无关;哪些是核心应用,需要重点保障,哪些是非核心应用,可接受降级或短时间不可用;理清这些应用之间的关联关系,有哪些上下游依赖,中间件等;

   1.2 架构整合

        一套在线系统一般都是由多个团队负责的,包含基础在线服务、离线数据、基础中间件、网络等;但是在大促备战过程中需要整理出整体的业务架构大图(可分成在线离线),包含各个应用,上下游依赖,中间件,所在的网络环境,带宽使用量,负载均衡设备,数据库,在线数据采集、订阅,离线数据处理等所有环节;只有把整个架构都搞清楚了,才能针对性的进行风险评估、容量规划、预案准备;

       如果只规划单个的容量,忽略了上下游以及其它依赖的承载能力,整个系统的任何一个环节出了问题,都会最终传导到系统入口,导致服务异常;

   1.3 流量预估

        在大促准备初始阶段,都需要根据以往的流量情况以及运营的推广力度来评估此次大促的流量峰值;然后根据峰值流量进行压测,明确当前系统的承载能力,准备好优化和扩容的方案;

        如果由于业务发展不规律,流量增长非线性,没有有效的历史数据来协助预估的话,那么也需要有一个理想承载能力的预估,以此作为容量规划的目标;

        峰值的流量来源一般需要考虑几个方向:

           1)由于秒杀、红包活动、整点峰值等导致的自然流量高峰;

           2)由于运营主动push消息导致的流量瞬时高峰;

               建议:涉及到主动push的机制,建议一般都设置推送步长,逐步推送到峰值,避免瞬时流量高峰导致的一系列类似缓存失效,类脉冲攻击流量导致连接异常等情况;

           3)由于上游传导过来的峰值流量;

2)压测&优化&扩容

   2.1 压测准备

       压测是整个大促备战过程中最核心重要的环节,贯穿整个备战的始末,需要通过压测才能摸清系统的承载能力,然后不断优化扩容,重复压测直到达到预估的承载能力。

       压测简单分为线下压测和在线压测:

        

       1)线下压测

           指未接入真实流量的线下环境,保持与生产一致的机器比例,可以通过tcpcopy方式复制生产流量,只可取得链路瓶颈和单模块的压力,非主力压测方式,因为环境和生产不一样,网络环境、上下游依赖等都不一样,压测出来的结果也会有差异;

       2)在线压测

           在线压测是指直接使用生产系统进行压测,能保证压测结果即是最终的系统承载能力;如果系统有充分容灾能力,可以切走一个可用区或region流量,然后再直接在生产系统上进行压力测试;如果没有足够的冗余,也可以选择在夜间流量低峰时进行,将可能的影响降到最低;

 

   2.2 优化&扩容

       一旦通过压测发现系统性能瓶颈,优先考虑能否进行优化,根据压测瓶颈时系统资源使用情况,充分利用内存分配优化、线程池调整、锁机制优化、异步化等方式进行业务优化。次之再考虑扩容方案,云上业务可考虑ESS或提前预约所需资源或配置升级。优化和扩容结合压测反复进行;直到系统可承载能力最终达到业务预期;

   2.3 预案 

       预案不仅是大促不可缺少的一环,日常系统运维过程中其实也是必不可少;大促预案分为前置预案和应急预案;

       1) 前置预案

         指在大促峰值流量之前执行的提前降级预案,无损或者预期范围内的。例如提前关闭写io频繁的日志写入,混部场景中调整调度策略避免调度到高压模块,提前关闭一些生产高消耗的策略等;

       2)紧急预案

         是指在流量超出预期或者链路中单个应用性能异常等情况下执行的应急预案,旨在快速恢复系统服务能力;入口的限流,应用策略降级等,可能的情况下优先采用无损的降级预案;

   2.4 大促中

       大促实际备战过程中,需注意:

          1)提前预案的操作,设定紧急预案执行的决策人、执行人和double check负责人,尽量不进行非预期的操作;

          2)峰值时段流量、系统表现相关数据采集;

          3)特别注意主动的数据推送,活动安排等导致的流量高峰,注意调整推送步长;

          4)系统各种大小异常情况信息采集

       相信做好了压测和容量准备,模拟了各种压测和问题场景,大促肯定能平稳过渡; 

 

3)总结&沉淀

      每次大促都是一次难得的经历,不管是对系统还是对开发运维人员,做好总结和沉淀能够对后期日常的系统维护以及以后的大促提供非常宝贵的经验;

      1) 压测方案的沉淀;

      2) 系统优化方案的沉淀;

      3) 演练过和执行过的预案及场景整理;

      4) 峰值流量、对应系统资源消耗及扩容数据收集;

      5) 其它相关业务重要数据沉淀

时间: 2024-08-17 03:08:42

如何进行大促备战---大促备战TODO的相关文章

u盘拷贝文件过大怎么解决 大文件无法复制到U盘怎么办?

u盘拷贝文件过大怎么解决  大文件无法复制到U盘怎么办   大文件无法复制到U盘怎么办?u盘拷贝文件过大解决办法 先来说说U盘无法复制大文件的原因: 一般来说,导致U盘无法拷贝大文件,一般是4GB以上的大文件,容易遇到"复制文件过大无法复制"的情况,而导致这种情况主要是U盘文件系统格式的问题. 一般U盘默认为FAT文件系统,它无法支持超过4GB以上的单个文件,而NTFS文件系统的限制最高可达2TB. 大文件无法复制到U盘的解决办法 找到原因后,解决起来就比较简单了,只有解除U盘复制文件

品《阿里巴巴大数据实践-大数据之路》一书(下)

今天继续谈阿里的这本书,包括数据服务平台.数据挖掘平台.数据建模.数据管理及数据应用,希望于你有启示. 1.数据服务平台 数据服务平台可以叫数据开放平台,数据部门产出海量数据,如何能方便高效地开放出去,是我们一直要解决的难题,在没有数据服务的年代,阿里的数据开放的方式简单.粗暴,一般是直接将数据导出给对方,我想,现在大多公司的开放应该也是如此吧,虽然PaaS喊了这么多年,但真正成就的又有几个? 即使如阿里,在数据开放这个方向上的探索和实践,至今也有7个年头了,任何关于数据开放毕其功于一役的做法都

关系数据库,求大神知大指导

问题描述 关系数据库,求大神知大指导 想设计一个关于保险的数据库,同一种保险产品,可以选择不同的时间长度,不同的时间长度决定了价格,而没种产品的计算方法不一样,该怎么弄,求大神指导 解决方案 将算法的公式存入数据库,在你的软件层面解析公式,动态计算.或者为每个公式写一个存储过程或者数据库的函数,将函数名或者存储过程名存入表中.

大数据有多大?关于大数据的三大误区

关于大数据的三大误区 随着整个行业对大数据的兴趣越来越大,我最爱的话题之一,我在2013年做过的大数据的公众演讲超过我职业生涯中的任何往年.我在行业大会.活动,大学以及EMC内部共做过许多次演讲.在这些演讲中一次又一次地接触到了一大堆关于大数据的评论,提问以及错误的理解.我相信将我听到的分享给大家会很有用. 以下是对于大数据的三大误区: 1. 最重要的,是关于大数据本身的大小 大数据主要是数据的大小,因为大数据就是大的,对吗?其实,并不完全是.哈佛的定量社科学院的Gary King说.当然,如今

无向图 邻接表-无向图的存储结构,求大神求大神

问题描述 无向图的存储结构,求大神求大神 Description 给出一个有n个顶点的无向图,顶点编号从0到n-1.给出每一条边,输出该图的邻接矩阵和邻接表. Input 输入的第一行是顶点数n和边数 e . 1 ≤ n ≤ 300 ,1 ≤ e ≤ 1000 接下来是 e 行,每行2个整数 i , j ( 0 ≤ i, j < n ) ,表示顶点 i 和 j 之间有一条边. Output 输出该图的邻接矩阵.邻接表按顶点编号每行从小到大,每列也是从小到大. 然后输出一个空行. 接着输出该图的邻

nhibernate-NHibernate成套的教程哪位大哪位大神能够分享一下

问题描述 NHibernate成套的教程哪位大哪位大神能够分享一下 小弟我最近自学Nhibernate可是苦于找不到好的视频教程,哪位大神有成套的视频是否愿意跟小弟分享一下呢,小弟我先在这里谢谢了 解决方案 你把你qq给我 我传给你 解决方案二: http://www.soku.com/search_video/q_hibernate+%E9%A9%AC%E5%A3%AB%E5%85%B5_orderby_3 解决方案三: 本质上说,hibernate和nhibernate是相通的,因为无非就是

2014中国大数据行业大调查首批获奖名单大曝光

在2014中国大数据技术大会召开前期,CSDN特举行了"2014中国大数据行业大调查(2014年11月7日 - 2014年12月7日)"活动,旨在为大数据技术从业者和创业者们提供一个合理的参考.而在活动进行的两周内,我们得到了来自全国各地数百位CSDN小伙伴的支持. 那么,究竟是什么吸引了全国如此多小伙伴的踊跃参与?这里我们不妨看向本次2014中国大数据行业大调查的一等奖: BDTC 2014之旅 本届大会将持续三天,大会第一天也就是12月12日,将举办第二届CCF大数据学术会议论文宣

中国科学院院士怀进鹏:大数据及大数据的科学与技术问题

第五届中国云计算大会于2013年6月5-7日在北京国家会议中心拉开帷幕.本次大会以国际视野,洞悉全球云计算发展趋势,并从应用出发,探讨云计算与大数据.云计算与移动互联网.云安全及云计算行业应用等焦点话题.大会还特别设立了云计算服务展示区域,交流国际云计算最新研究成果,展示国内云计算试点城市发展成就,分享云计算发展经验,促进全球云计算创新合作. 中国电子学会云计算专家委员会候任主任委员.中国科学院院士 怀进鹏 在第五届云计算大会第二天的演讲上,中国电子学会云计算专家委员会候任主任委员.中国科学院院

c语言-请教各位大神,实现用数组表示大整数及大整数与字符串相互转化的两个函数

问题描述 请教各位大神,实现用数组表示大整数及大整数与字符串相互转化的两个函数 怎么用数组表示大整数呢,大整数到底有多大,大整数怎么转化成字符串,c语言没有学好,对这些完全不懂啊 解决方案 字符数组实现两个大整数的加法用字符串表示大整数 解决方案二: 用char数组存大整数,比如你要存4564646874646465464646878797979871465465465,明显超过了long long的范围 那么此时就用数组存储了, char num[1000] = {0}; //声明一个数组,可