本文共 2854 字,大约阅读时间需要 9 分钟。
在电商及互联网应用时代,用户和流量已成为应用核心竞争力,而随着数字化营销逐渐走进各个领域,线上的秒杀抢购、热点营销等活动也成为企业的必备营销手段,营销带来的大规模流量浪涌对系统来说是个巨大的考验,如何应对用户和流量激增的同时又能保障应用的稳定运行已成为各厂家必须解决的问题。本文将分享如何测试和分析电商类网站的性能瓶颈
本次选择测试工具是华为云的
不采用开源和传统测试工具的原因是:压测资源需提前准备好:已在云容器引擎服务中创建两台节点,一台2核4G,一台4核8G,这两台节点需要绑定弹性IP,以确保和被压测的应用网络互通。
本次性能测试主要检测服务端处理能力,通过测试,将达到以下目的:
根据顾客的使用电商应用的行为数据分析,为找出现有网站能够支撑的最大处理能力。构建出3种测试模型,分别是单场景基准测试模型、单场景容量测试模型和混合场景容量测试模型。
单场景基准测试模型:测试环境确认之后,对测试模型中涉及的每个功能做基准测试。目的是检查网站本身是否存在功能缺陷。
单场景容量测试模型:针对本次网站性能测试涉及到的网站内容和用户行为轨迹,利用一定量的并发进行测试,获取其性能表现,并验证是否存在并发性问题。混合场景容量测试模型:针对本次平台性能测试涉及到的“内容/行为轨迹/搜索”利用一定量的并发递增进行测试,验证实际可能的高压力场景,较全面的检测系统的性能表现。获取其最大并发数、平均响应时间、系统资源作为衡量指标单场景基准测试模型:
单场景容量测试模型:
根据现网的监控数据,按照访问量的比例,构建混合场景容量测试模型:
性能标准参考:
步骤一:创建资源组和测试工程
工程名称:自定义名称,例如Web-test。描述:应用测试Demo。步骤二:添加事务信息
根据上面的测试模型进行事务的定义,抢购活动的实际情况来看,用户抢购到商品,大概需要经历一下几个阶段:登陆>首页访问 > 搜索 > 商品浏览>加入购物车>下单>付款。期间还有网站对应的活动页面。因此需要定义7个事务:登陆>首页访问 > 搜索 > 商品浏览>加入购物车>下单>付款。也可以根据需要构建串联场景,验证用户操作链的性能
步骤三:创建测试任务
华为云性能测试服务测试针对测试任务关联多个事务,并为事务分配不同的压力比例,以我当前测试的电商网站为例,单场景测试采用阶梯式压测模型(可以是递增的,也可以无规律的)快速找到压力瓶颈点:
而对于混合测试模型,则在混合测试任务下关联所有事务,并分配不同的比例:
步骤四:查看实时报告
任务启动后查看实时报告
首页访问,100并发用户数持续时间100s,可以看到在100并发时,都是正常返回。当300并发用户数持续时间100s,已经出现了部分响应超时的现象。说明网站当前还无法支持300个并发访问用户的正常请求。当用户数达到500并发用户数持续时间100s,响应超时的数量高于正常返回的数量,出现异常。
查看对应的资源占用情况,CPU使用率,在性能测试的过程中,CPU的使用率长期超过90%,与业界标准比较,CPU的使用率超过了85%。内存使用率在12%以下,比较稳定。查看后端其中一个数据库节点的资源,资源的使用率较低,相较于前端,可得出性能瓶颈主要在前端的业务代码中。然后根据定位情况进行优化后反复测试调优就行了。
步骤五:查看离线报告
也可以在无人值守的情况下完成测试后查看离线报告,内容与实时报告一致。
转载于:https://blog.51cto.com/13943438/2336327