技术开发 频道

流量暴增 云压测标准体系保APP运行无忧

  【IT168 资讯】电商大促流量暴增,云压测标准体系确保APP运行无忧

  在《备战618,电商APP如何从容应对暴增的访问流量?!》一文中,我们比较了传统压力测试与全链路云端压力测试之间的差异,并得出结论:电商企业的网站和APP要想从容应对电商大促时暴增的访问流量,准确发现系统性能瓶颈,就需要使用更加科学和有标准可循的云压测手段。那么什么样的云压测才是健全而有效的呢?云压测的标准体系是什么样的?电商企业又该如何建立标准化、规范化的云压测体系,目前在行业内尚未有完善的标准。

  云智慧立足多年来为用户提供应用性能管理服务过程中所采集的用户需求痛点,通过深入研究了国内外主流的云端压力测试产品,并根据传统压力测试产品LoadRunner、Jmeter在移动应用测试过程中暴露出来的种种缺陷,提出了全新的云压测体系标准,如下图所示:

流量暴增 云压测标准体系保APP运行无忧

  下面是对云压测体系标准各个维度的详细解读:

  1、基于云的弹性伸缩架构

  传统压力测试工具主要在内网中制造产生压力,压力规模受限于物理机器及License数量,准备周期通常以周为单位,环境搭建成本和运营成本都非常高。而云压测提供可靠的分布式压测服务器(压测点),充分利用云端计算资源,突破了硬件设备的资源限制,解决传统压测工具的成本和时间挑战。

流量暴增 云压测标准体系保APP运行无忧
图:云智慧自有压测点网络建设

  通过云端制造的压力访问系统,基本上跟实际生产环境的用户访问保持一致,同时这些服务器分布在不同的地区,也很容易发起用户需要的访问量。此外这种分布式体系架构具有非常灵活的伸缩性,可以满足不同规模企业、不同产品从数百并发到数百万并发的压测需求。

  2、天然适应移动互联网

  目前大多数电商应用的基础服务都是通过调用自身或者第三方API来实现完成的,如注册、登录、定位、支付、物流、用户统计等,所以API可谓是移动互联网的基石。那么在业务上线之前,对API及其串接形成的业务过程进行压力测试也是必不可少的。

流量暴增 云压测标准体系保APP运行无忧
API正确性测试

  云压测标准体系必须能够对后端服务的API请求及其调用过程进行定义及测试,通过对API调用过程的正确性、可用性及响应时间在大规模压力条件下以及分布式地域环境中的质量评估,来确认后端服务保障到位与否。

  3、与性能管理APM紧密融合

  压测的目的是测评系统在不同规模访问压力下的性能表现,进而排查和定位性能瓶颈。由于当今应用的分布式特点,性能问题可能隐藏在IT系统的任何一个环节,所以在压测的同时,需要与APM应用性能管理产品深度集成,通过压测深入分析端到端体系架构的整体性能,实时定位代码级性能瓶颈,分析硬件资源利用率指标。

流量暴增 云压测标准体系保APP运行无忧

  云压测与应用性能管理集成,需要做到如下几点:

  1) 业务架构拓扑自动发现:实时了解应用程序内部的架构情况,通过应用拓扑结构进一步分析业务性能表现;

  2) 代码级问题诊断:在高并发条件下采集每条请求及其后端的代码级问题分析,包括请求执行的链路、响应时间、错误请求快照、SQL脚本执行数据、后端堆栈跟踪、异常代码分析、JVM执行效果分析等;

  3) 后端资源使用指标分析:包括服务器负载等基础性能指标以及各种应用组件的实时性能变化。

  4、端到端全链路压测

  全链路压测和传统压测不同之处在于,传统压测解决的是后端服务器的负载能力,这种负载能力是在测试环境下获得的结果。而全链路压测需要覆盖前端系统、网络、DB和基础架构等整个系统环境——即在测试环境里把真实业务完全还原了。

流量暴增 云压测标准体系保APP运行无忧

  云压测的全链路压测具备真实环境条件,允许用户从防火墙外发起压力,让压测变成有确定性的评估,能确定上线后的真实状态,从而验证交易核心链路上的各种限流和预案的准确性,在测试中暴露全链路上的各种瓶颈和隐藏风险点。

  5、面向产品全生命周期的持续交付

  持续交付(Continuous Delivery)是敏捷开发的自然延伸,用来确保让代码能够快速、安全的部署到生产环境中。它通过将每一次改动提交到一个模拟产品环境中,并使用严格的自动化测试,来确保业务应用和服务能符合预期,这就要求新的性能测试方法必须与敏捷开发和快速的变更频率保持同步。面向自动化过程的持续交付和云压测在整个产品交付过程中的支持方案如下图所示。

流量暴增 云压测标准体系保APP运行无忧

  通过云压测工具+maven+Jenkins+APM 构建性能测试与性能分析平台,是面向产品全生命周期的持续交付解决方案的一个重要构成部分,用户的基本使用场景如下图所示:

流量暴增 云压测标准体系保APP运行无忧

  性能测试与性能分析平台需要云压测才能自然融合在产品QA环节中,云压测产品本身能够提供丰富的API,能够通过提供扩展接口,支持与企业现有持续集成测试工具Jenkins等紧密集成,将测试任务以对外的服务形式进行驱动执行,以实现更加敏捷的交付、持续的集成。

  6、实时数据监控分析

  传统压测执行过程是条件准备完毕之后启动执行,任务执行过程中无法对性能数据进行实时分析、对执行过程进行干预。在云压测过程中通过秒级的数据采集和实时统计分析,随时调整和控制访问压力。系统的性能数据动态呈现,在逐步加压的过程中,如果性能下降急剧、大量出错,就应该保持当前压力或降低压力,然后根据系统状态准确发现性能瓶颈。或者在保障业务正常运行的情况下通过压力的上下调整找到压力容忍点,获得系统负载的真实上限。比如找到1300并发的时候,系统出错、性能都在容忍范围内,就说明系统的承载能力在这个范围。

流量暴增 云压测标准体系保APP运行无忧

  遵循上述六个维度建立起来的云压测标准体系,能够满足电商等互联网企业产品全生命周期的敏捷开发、持续集成和持续交付的需求,帮助企业从容应对移动互联网时代高速发展的业务需求变化和指日暴增的访问量,把系统状态调整到非常好的。

  云智慧压测宝SaaS版基于云计算和大数据分析技术的云压测服务,无需电商企业进行任何的硬件及带宽等资源和人力投入,大大降低了压测成本。同时与云智慧应用性能管理产品——透视宝/监控宝采用统一数据平台,完全实现了压力测试与应用性能管理的深度集成,通过压测深入分析全链路性能状况,快速定位代码级性能瓶颈,提供的可视化数据大屏实时展示和分析性能数据,实现现场纠错。

  各家电商网站的618大促活动已经陆续启动预热,虽然IT部门已经申请了尽可能多的资源,并测试过每一个环节的负载状况,但您仍在为促销活动中暴增的流量导致的系统稳定性和性能问题担忧吗?

特别提醒:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
0
相关文章