一遇“高并发”系统就难逃一“崩”,性能测试的方法你选对了吗?(上)

272 篇文章 20 订阅
本文探讨了在高并发场景下,企业如何通过性能测试确保IT系统的稳定性。何毅鹏老师分享了五种典型性能异常场景,并强调了性能测试的重要性,指出云压测作为传统性能测试的替代方案,具备简单易用、全栈监控、规模化部署和性价比高等优势。云压测可以帮助企业在面对大规模用户访问时,提前预测并预防系统崩溃,减少经济损失。
摘要由CSDN通过智能技术生成

在如今,网购大促已经日益常态化,没事儿就搞个活动,相信大家已经见怪不怪了。虽然每到这个时刻,平台总是会做各种排查测试,严阵以待,生怕出现上述这种窘境,但往往还是防不胜防。

好比过去的618和双十一,某电商平台技术负责人经常吐槽:“尽管大促活动前加班加点做测试,到了活动当天仍然是危机频发,高并发的关键时刻又出乱子了,紧急排查故障,处理完之后 1 个小时过去了。时间不等人,顾客也不等你,一个漏洞没注意到就让竞争对手钻了个空子,平台损失严重,还有被媒体曝光的风险。”

在超高并发量下,IT 系统如何才能挺住不崩?有没有办法可以提前预测到,并加筑好“防御堡垒”?6 月 23 日,睿象云 CTO 何毅鹏在线上进行了一场主题为「后疫情时代,企业性能评估的最佳实践」的直播课程,本次直播深入剖析了高并发网站常见性能异常事件,分享了如何从 0 到 1 构建标准化、规范化的云压测体系,寻找上述问题的最佳答案。

以下内容经由 InfoQ 编辑整理自「后疫情时代,企业性能评估的最佳实践」中何毅鹏老师的分享。

1、为什么一定要进行性能测试?

“性能测试的重要性不言而喻,如果性能测试做的不好将会带来灾难性的问题。”

众所周知,性能异常包括 5 种典型场景:

瞬时的用户访问量激增;

服务端的流量满载;

系统资源长期居高不下被占用;

服务访问的过程中超出了最大的上限,服务过窄;

网站虽然可以访问,但是延时极具升高。

第一种情况往往会出现在抢购场景中,抢购前五分钟大量流量的汇聚往往会导致服务端前期的带宽不够用,用户在抢票的过程中体验会非常差,进而影响到平台的营业额。

第二种服务器的 CPU 满载的情况也很常见,一般来说,业务复杂的系统单机监控的性能消耗基本达到了 20% 左右,单机的剩余算率一般只有 70% 到 80%,复杂的场景下频繁的访问可能会使 CPU 瞬时高达 90% 以上,基于此,如果在性能测试期间没有很好地测试出暴涨的场景,对于服务器来说就是一个比较大的灾难。

第三种情况即常见的负载均衡设备流量的满载,现在大部分企业使用的都是云厂商的负载均衡设备,基本上都存在 PPS 连接的上限,在没有做很好预估的情况下,当上限满载的时候,后续访问的用户就会出现连接错误的现象,典型的就是 HTTP 503 错误。

第四种情况即系统过载、超过访问上限,在测试过程中存在的主要问题是容量估算不足,现在大型业务的系统扩容切换至少需要 90S 左右才能完成业务的快速接管,因此前期性能测试的容量评估过程中做热切换和热部署的场景非常有必要,场景搭建好后,通过横向扩容可以快速接管业务,一些复杂的性能问题也能很快迎刃而解。

第五种情况下网站访问没有问题,但是网站访问延时极具升高,部分服务接口大面积超时,影响用户使用体验。

研发过程中,我们会发现无论是研发还是测试,一般罪魁祸首都是一些小范围的代码错误,进而会导致一些功能和性能的问题,造成极大的损失。因此,严格的需求评估是非常有必要的,如果能很好地分析出常见的和异常的业务场景,一旦上线后出了问题,也能游刃有余地去应对。

在整个需求过程中,运维人员不需要特别着急地做一些编码的操作。如上图所示,前期要确定测试场景的设计、测试流程的梳理、测试数据的管理以及执行顺序,随后由性能测试执行人员完成总结性操作,汇总出测试结果,通过记录各个节点出现的性能问题,形成整个测试的分析报告,包括调优数据、参数配置数据。

最终运维人员依托于线上的性能数据来配置指标梳理的方法,一般来说包括三种:正常运维的参数配置、系统异常下的参数调节、应急异常或灾难性问题下的调节方法。

如果性能测试做的不到位,那带来的直接经济损失将难以估量,以电商企业为例,来自亚马逊的调研数据显示,当电商的访问速度每下降 100 毫秒,营业额至少减少 1% 左右,相对 618、双 11 这些场景来说,如果用户体验比较差,付款付不出去,损失是可想而知的。

2、选择哪一种测试方法更有效?

“移动互联网时代,企业该如何为频繁的市场活动和产品快速迭代进行有效而准确的性能测试呢?”

随着移动互联网的急速发展,电商、在线教育、票务等企业业务数量急剧上升,超高并发量的数值一直在突破进阶。同时,业务复杂化下,整个 IT 系统的架构也在快速演变,从单主机到 1000 台应用主机转换、分布式 CDN 节点超过 4000+、链路节点设备层数突破 10 种、分布式微服务架构盛行。在此背景下,传统性能测试面临诸多问题:

搭建 10000 用户并发测试环境需要 10 台物理主机;

测试环境部署时间 5 天以上且环境复用率低;

10000 并发的 License 授权费用超过百万;

工具脚本、数据、报告管理分散,存在较大安全隐患;

loadrunner、Jmeter 等测试工具操作复杂、学习成本高,普通测试人员不易掌握。

传统性能测试式微之下,云压测快速汲取养分实现了赶超,性能测试迎来了创新与变革的春天。

2005 年云压测概念横空出世,伴随着云计算技术的快速发展,使用云资源实现弹性、可扩展、自由伸缩分布式压力产生模式。利用云端的资源,云压测实现了一站式完成性能测试,可模拟系统各种异常场景,用户无需再购买包括服务器、机房在内的多种资源,能够节省大量的资源成本和人力成本。目前,国外如 Soasta、国内如睿象云,其云压测产品已经成为传统性能测试平台的最强劲对手。

相对于传统的性能测试方案,展开来说,云压测具备 4 点优势:

简单易用:云压测的脚本 3 分钟就可以生成,因为测试资源全部部署在云端,可以实现秒级启动,同时能够实现测试数据的秒级回传以及性能问题的同步定位。

全栈监控:云压测产品都是基于分布式的云计算服务,能够基于位置快速进行响应,还能够实现同步监控数据回溯,达到全栈监控数据采集,全面覆盖网络层、服务器层、操作系统层以及应用层。

规模化部署:绝大多数云压测厂商的测试节点都能够覆盖全球,实现基于位置的按需定制,还可以实现全链路真实节点,达到千万级的并发请求。

性价比较高:SaaS 服务天然具备灵活的优势,云压测产品都可以按需计费,也不需要硬件部署,很容易实现一体化测试管理服务,而且团队之间也可以实现编组协同,大大提升工作效率。

文章来源:网络 版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值