技术谈丨20万个红包,怎么就让天府市民云宕机了?

2021-02-24 18:06:53来源:四川在线编辑:何勇

四川在线记者 高杲

2月24日早上8点,成都市民们通过天府市民云和京东两款App进行数字人民币红包领取线上报名,不少人发现,在登录天府市民云App时,系统处于拥堵状态,无法登录和进行线上预约。

“20万个红包,怎么就让天府市民云‘崩’了?”不少市民也提出了这样的疑问。

为此,记者采访了多位业内人士,试图找到公众数字平台应对市场流量的方法。

主因:同时报名的人数较多所致

对于造成系统“崩溃”的原因。不少业内人士均表示,因为用户流量过大所致,即参加活动的人数远超预估的人数,超过了系统承载的范围,造成系统无法正常运行。

“海量用户同一时刻访问,系统同时处理请求的能力不足,导致了此次系统的‘崩溃’”。链博(成都)科技有限公司CEO朱清如此说道。成都一家电商平台技术负责人进一步补充:“造成这种原因有两点:一是服务器数量不足,承载需求能力有限;第二是相关经验不足,对于客流量预判不足。”

同时,他们也表示,系统的“崩溃”在业内并不是新鲜事,即使一些互联网头部企业也会遇到这样的情况。

经验:双11如何预估流量

海量用户同一时间大量访问,系统需要同时处理多方需求。这不禁让人想到双11购物节。那么淘宝这些电商平台是如何进行流量预估的呢?

记者联系了一位曾经参加过阿里双11活动的技术人员。该人员表示,双11活动的流量预判主要参考历史峰值和平台总用户数,同时结合业务部门同事提供的点位数据,进行流量预估。在具体的操作中,还会增加10%-20%的流量进行压力测试。

如果没有历史峰值作为参考呢?上述人员表示,一些刚成立的平台,一般会采取调研的方式进行流量预估。

启示:选择对压力测试也很重要

预判对了流量,也通过了压力测试的验收,会不会造成系统“崩溃”?一些技术人员表示,如果选择不同的压力测试,也会带来不一样的结果

成都一家电商平台的技术负责人告诉记者,随着科技的发展,压力测试的方法也发生变化。近年来,互联网企业探索出全链路压力测试方法,“简单理解,就是线上采集真实流量,完全模拟用户操作行为进行压力测试。”但该负责人同时也提到,全链路压力测试对服务器要求极高,费用也较高,一般都是互联网头部企业在使用,其他平台往往是通过和其合作的形式使用。

除了全链路压力测试,还有就是单一接口的压力测试,即对平台的功能进行压力测试。但这种方式也存在弊端,“某些接口的特殊性造成压力测试的不准确性,会影响最终的验收。”

补救:系统已经“崩溃”,有哪些补救措施?

在记者走访过程发现,不少技术人员都经历过系统“崩溃”的痛苦经历,也形成了自己的一套补救方法论。

简单总结,就是两个优化:性能优化和方案优化。

性能优化主要是对服务器进行优化;一是增加服务器的数量,提升整体的运行效率;第二是对代码进行优化,提升系统运行速度,“对非核心逻辑进行降级处理,提升核心逻辑的功能。”朱清表示。

方案优化则是通过后台逻辑的设置拉长活动的时间。“地铁运行量很大,但几乎不出问题,是因为刷卡机器数量是固定的,单次进行操作的人数也是固定的,虽然看上去流量很大,但单次处理的数量却不高。”一位金融科技企业负责人以这个例子想表达的是,通过方案的优化,可以有效进行分流。“可以学习电商的经验,提前进行预约,或者部分需求先登记后处理的方式。”

    编辑推荐