网易首页 > 网易号 > 正文 申请入驻

银行内部人员揭秘:银行系统全链路生产压力测试的解决方案

0
分享至

   全链路生产压测,指的是模拟真实场景、使用多样化的流量请求进行全流程、全链路压力测试。传统的性能测试,测试环境资源数量、各链路硬件资源配置、配比与生产环境存在差异,且系统性能会受其他关联方的影响,单交易压测结果无法反映系统真实性能情况。而全链路生产压测可以找到系统的瓶颈点、发现系统潜在风险;有效评估系统的实际承载能力,指导调配服务资源、调整限流策略。

  

  笔者结合自身参与的银行系统全链路生产压测实践经验,针对全链路生产压测的适用场景、风险及难点和解决方案进行了简述及分析,为全链路生产压测的解决方案提供参考。

  1、全链路生产压测适用场景

  全链路生产压测适用场景广泛,主要适用于以下四种场景:

  1)新系统上线

  相对于生产上的已有系统,新系统的承载能力往往很难预估。当一个全新的系统即将上线时,全链路生产压测可以准确探知系统承载能力,防止刚上线被用户流量冲垮,也可以探知新系统支持的最大并发流量访问,新系统的性能是否影响用户体验。

  2)系统稳定性探测

  对于已上线的系统,全链路生产压测可以通过模拟真实的用户流量压力,去探知系统的性能瓶颈,从而提升系统的整体服务能力和吞吐量,提升用户体验。

  3)系统容量规划

  当系统本身已经平稳运行很长时间,比较稳定,需进行成本优化时,全链路生产压测可以对系统进行精细化的容量规划,确保资源的高效利用,从而降低系统的运行成本。

  4)热门业务上线

  在秒杀、抢购等热门业务上线前进行全链路生产压测,可以通过模拟流量激增的场景,对系统的性能进行测试,发现系统的性能瓶颈并进行优化。

  2、全链路生产压测的风险

  尽管全链路生产压测存在诸多的优点,适用场景也较为广泛。但是,在全链路生产压测在开展过程中,仍有一些风险需要注意。首先,由于压力测试在生产环境中进行,压测过程可能影响被测系统功能正常开展,甚至有造成系统瘫痪的风险;其次,生产环境中,压测地址、产品存在泄漏的风险,一旦被正常客户发现、使用,可能造成客户投诉,引发声誉风险;再次,当测试数据流入生产环境,可能给组织业务带来风险;还有,全链路生产压测的关联方众多,如若生产压测前期没有对有关方履行充分的告知义务,有关方未做及时准备,可能使关联系统受到影响;最后,当压测执行过程中,网络流量暴增,可能会引发网络限流等措施,影响压测结果。

  3、全链路生产压测难点及攻克方法

  全链路生产压测的成功实施,很大困难在于压测的全链路特点,其压测脚本、流量构造以及如何与生产实际流量、服务进行隔离。

  1)构造全链路生产压测脚本

  与传统性能测试脚本的构造方法不同,全链路生产压测脚本的构造,需要充分考虑整个系统链路的请求。为此,实施方需充分梳理业务场景、系统架构,统计关联系统相关交易,从而梳理整个链路的请求来源。同时,要根据真实场景业务回放,获得所有API接口和请求。最后,在全链路的请求比例上,可参考以往数据,结合测试经验,按真实场景进行构造。

  2)构造压测流量

  对于压测流量的构造,可以从以下几个方面考虑:使用压测工具构造压测流量,流量来源为IP、运行商等多种来源,其次,压测数据应全面、真实,所以可以收集正常业务流程数据,以便模拟真实业务场景。最后,要确保压测数据可用,并且不带有生产敏感信息,因此需采用人工构造的方式,从真实数据中提取数据,并经过脱敏之后导出。

  3)压测隔离

  在生产环境进行压力测试,势必要考虑隔离的问题。首先,需要对压测流量进行标记,以便隔离流量;其次,一般生产压测选择深夜业务低峰时段进行,基于IP、网络、域名等隔离生产环境,以便隔离服务;再次,通过构造影子区域、影子数据库等方式,进行数据隔离;除此之外,还需对系统进行相关的压测改造,以便使不满足压测隔离的交易满足压测隔离的需求。最后,在全链路生产压测执行完毕之后,还需对压测环境、服务、数据进行清理,确保生产环境未受到生产压测的影响。

  4、全链路生产压测流程规范

  笔者结合自身参与的银行系统全链路生产压测实践经验,提出了以下全链路生产压测流程规范,为全链路生产压测的解决方案提供参考。

  

  图1:全链路生产压测流程图

  1)压测准备

  压测开展之前,要进行充分的压测准备。首先,要确定压测范围,明确压测目标,并针对压测链路进行梳理。其次,针对生产链路压测,要对业务系统改造:例如针对压测交易设计替换页、设置白名单手机号、身份证号等。接着,要明确压测方案:制定全面的压测计划、明确压测数据构造方法、确定压测流程、编制紧急预案、梳理监控指标等。此外,在压测管理方面,需明确压测期间的组织安排及各系统联系人。最后,需进行压测验证:事先进行脚本调试及验证,确保脚本的可用性和有效性。

  2)压测执行

  由于压力测试执行环境为生产环境,全链路生产压测的执行比普通性能测试更为复杂。笔者参与的全链路生产压测分为四部。第一步为预热期,目的是验证压测工具到被测应用的连通性及站点和PC端的功能连通性;接着进入演练期,小并发阶梯增加压力,本阶段目的是验证请求压力按预期传导至应用,验证应用有效性,并确定每个测试场景的时间间隔。第三步开始正式压测,按照预估的TPS阶梯性增加并发,对网络连接、流量、服务器性能进行监控。根据第一次的压测结果进行相应的优化之后,进行第二次压测,以验证系统的性能是否提升,第一次生产压测发现的问题是否解决。

  此外,压测执行过程中需注意的是,一旦发生紧急情况,必须马上根据事先设计好的紧急预案进行处理,以便尽快恢复生产,确保对生产系统及环境不产生影响。

  

  图2:压测执行—从预热期到二次压测

  3)压测总结

  压测执行之后,要及时的对整个过程进行总结。形成详实的生产压测性能分析报告,对系统的容量进行评估。并且对整个生产压测进行复盘,并提出改进计划,因为涉及系统性能优化,全链路的生产压测往往要进行许多轮次。需考虑如何在下一次压测过程中对测试过程进行优化改进。最后,需清理压测数据,要将压测数据还原到压测之前,为下次压测作准备,还需对环境进行恢复并进行测试,以确认系统版本恢复到压测前版本。

   最后邀请想提升实力的测试人一起学习

  如果你的也有很多问题想要解决,你的测试职业规划也需要一点光亮,你也想跟着大家一起分享探讨,我给你推荐一个「Python自动化测试学习交流群」你缺的知识这里有,你少的技能这里有,你要的大牛也在这里……

  来吧!!一起进阶自动化测试!!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐

月薪2万,90后却不乐意干,这两大行业都在“缺人”!70后是主流

投资家
2021-04-13 16:26:21

中央督察组刚进驻就发现问题,省委书记周末赴现场察看

政知新媒体
2021-04-12 09:01:13

压寨夫人的真实一生:16岁嫁匪首连生8胎,天生绝世容颜

当代广播站
2021-04-10 14:27:52

这个常用app:明天起,大涨价!

新华日报
2021-04-10 00:14:53

多次变换姿势,持续时间长且没有反抗,女方就是自愿?

身边的刑法故事
2021-04-06 16:01:38

内地居民赴港将免隔离!请收好这份通关攻略

南方Plus
2021-04-13 22:12:11

又见妖股,15天6个涨停板!数字人民币概念最火的,原来是它

金融界
2021-04-13 18:43:24

原材料涨幅超50%!4月18日起,行业将面临“缺货+涨价“大考!

电动车微资讯
2021-04-13 19:29:26

红霉素软膏,千万不可乱用!

乡村白大褂之家
2021-04-10 03:46:42

为什么NBA的啦啦队禁止穿内裤?

微悉尼
2021-04-10 18:37:40

16岁少年带26岁寡妇私奔,隐居深山56年,人们发现时愣住了

在下毛毛雨
2021-04-11 15:57:11

压垮加拿大的一根“稻草”,中国买家撤离后,半个加拿大或将破产

弄堂律师
2021-04-13 07:52:04

亚足联主席:祝贺中国女足晋级,奥预赛证明亚洲女足是世界级

直播吧
2021-04-13 20:18:03

六只海胆让三亚掉进了塔西佗陷阱

人民网舆情数据中心
2021-04-13 09:34:48

“对于损害香港的虚假信息,我决不会坐视不管”——英籍资深大律师江乐士批驳西方不实言论

世界你好
2021-04-13 09:14:09

还掏耳朵呢?看看你的耳朵都烂成啥样了!

好奇博士
2021-04-07 10:43:30

著名经济学家郎咸平:中国的保险都是骗人的

桃烟读史
2021-04-11 17:25:02

赫本风黑色紧身包臀裙,简直就是女神,时髦和性感并存

燃情时尚
2021-04-13 15:02:08

宋级潜艇在小鹰号航母5海里附近浮出,为何引发美军恐慌和彻查?

姜妹娱乐说
2021-04-12 21:25:07

威廉展现身为兄长的胸襟!为哈里不尴尬,放弃在菲利普葬礼穿军装

凡间事
2021-04-13 07:06:19
2021-04-14 01:37:08
51Testing软件测试网
51Testing软件测试网
中国软件测试人的精神家园
1201文章数 11911关注度
往期回顾 全部

财经要闻

头条要闻

红黄蓝男幼师发男童闻脚照 家长:开始还说不用为难老师

头条要闻

红黄蓝男幼师发男童闻脚照 家长:开始还说不用为难老师

体育要闻

全市场:戈森斯向C罗索要球衣被拒,队友凑钱买了件球衣给他

娱乐要闻

李小璐穿吊带露香肩 笑容甜美

科技要闻

大哥特斯拉:造车“三傻”,咱们抱团?

汽车要闻

车名注册了20年 东风雪铁龙全新车叫"凡尔赛"

态度原创

数码
本地
教育
亲子
公开课

数码要闻

马斯克脑机接口植入猴脑 猴子意念玩游戏比人灵活

本地新闻

30岁不结婚,丢脸吗?

教育要闻

初三生父亲晒出一组图刷屏网络,看哭万人!

亲子要闻

孩子入睡难,家长该怎么处理才好?

公开课

入耳式、头戴式...哪种耳机对听力伤害最大?