专栏首页WeTest质量开放平台团队的专栏双十一临近,电商产品如何保持最优的性能体验?

双十一临近,电商产品如何保持最优的性能体验?

十一月临近,一年一度的电商大戏“双十一”又将隆重出场,目前各大商家已经开始各类优惠券的发放,各类大促的商品表单也已经提前流出,即将流入各个用户的购物车中。

作为这些活动的载体,产品宣传、商品购买、交易结算、客户反馈以及售后服务都是电商产品(包括网站、APP、小程序等形式)非常重要的功能,但当双十一临近,电商产品要面对大量级用户群体涌入,流量猛增的局面,性能表现往往就成为了成功的关键。

双十一的流量挑战

在优化电商产品的性能表现前,首先要了解一下电商产品的访问逻辑,以电商网站为例:

电商网站的核心内容,包括了Web服务器、应用服务器和数据库服务器,其中前端Web服务器负责接收并处理来自用户的HTTP请求,并生成Web页面反馈给用户;中间的应用服务器负责执行其中的业务逻辑;后台数据库和文件服务器负责存储用户、产品信息及状态。

为了提升访问的性能,有的网站会在数据库服务器前部署数据缓存设备。外围部署负载均衡服务器,负责在海量用户访问与多台服务器间进行负载分担。

对于电商产品来说,当流量变高,成百上千的服务器和其他设备面对海量用户的访问,会遇到这样的场景:有的用户在不断查询商品信息,有的用户在注册会员,有的用户在修改购物车信息,有的用户在下单付款,有的用户在秒抢商品,等等。

此时若不重视承载能力,会造成严重的后果。比如国庆期间鹿晗公布恋情导致微博宕机,以及过去几年iPhone新机发布导致官网崩溃,都是由于对流量突增没有足够的承载能力导致的。

而这些现象,都给用户带来了很大的困扰,而且用户体量越大,影响的波及面就越广,不仅影响用户口碑,也影响产品收入。如果把产品的月收入平摊到每一分钟的话,大家可以通过30分钟,60分钟,乃至12小时,24小时计算具体的损失金额,还要加上因此产生的用户流失以及品牌口碑影响。

所以,如何在“双十一”这样火热的节点保证用户顺畅访问网站,成了一个重大的挑战。

电商产品的压测方案

那么,怎么样才能让电商网站在面对活动流量高峰的时候能够提供正常服务呢?容量规划,压力测试以及压测环境的配置是电商网站必须要经历的考验。

尤其是压力测试,是整个电商网站活动前的实战演习,能够提前预知网站性能表现的瓶颈与故障点。

预估流量情况

电商网站背后的系统通常分为两部分,一部分是导购,主要的作用是为用户推荐各式各样的商品,提供搜索服务,给用户挑选商品带来便利;另一部分就是交易,简单来说就是电商网站下单、抢购等活动的过程。

两部分的流量形式是不同的。导购部分的流量会呈现为一个慢慢上涨的曲线,对于服务器来说,流量的压力是慢慢增加的;而交易部分的流量,却是陡然上升的,特别是在某个抢购活动中,压力会瞬间增长到一个高峰,没有给人和机器任何的反应和决策时间,这也是电商产品承载能力要求比其他的产品高的重要原因之一。

但是这个高峰会是多少?很多人在事前并不知道,如果要模拟真实的压力场景,不同的压力造成的测试成本都不同,定高了,成本高,定低了,没效果,因此要想让压力测试既能满足足够的流量压力,又把测试的成本压缩到最小,活动筹备之前对于流量的预估非常重要。

阿里巴巴在双十一活动前通常也会进行压力的预估,将其叫做”容量规划“。活动流量会有多少?峰值会到多少?电商网站的开发人员需要心里有数。

场景化压测

在实际电商活动开始后,用户会从四面八方涌入产品,如何去模拟用户的真实行为,形成一个最接近真实的压测场景是电商产品压测第二件需要做的事情。

电商产品通常有很多接口,用户在访问过程中可能接触其中的某几个接口,一种压测的方式就是针对这所有的接口进行统一的压测,增加相同的压力,算出一个系统的容量,然后再根据这个系统的容量情况扩展到一个个集群。

这种方法有一个缺陷,就是如果这个系统某个接口出现了问题,整个集群都会崩溃。

而场景化压测可以避免这类问题。在实际的压测场景中,流量很大一部分都会被分流,由于每个用户的购物流程都不一样,因此对于电商网站上的接口受到的压力都会不同,可以实现用最少的服务器支撑最大的流量。

那么,一般电商购物会有哪些场景呢?以下举三个例子。

场景一:登录注册,访问个人中心

用户在进入电商产品后,会有查看自己订单情况的需求,因此,“登录“”注册“以及”个人中心“会成为流量较高的接口。

场景二:商品遍历

“商品遍历“指的是用户在下单购买前,对不同的商品页进行访问的过程,而此时用户已经进入了登录状态,会带着登录态对不同的页面进行访问,此时不同的商品页面接口会承受比较大的压力。

场景三:购买下单

这可能是电商网站并发压力最高的一个接口,购买按钮,购物车页面以及付费接口都会面临很大的瞬时压力。

在确认完“双十一“活动中承受压力可能最高的几个场景之后,产品开发或测试人员就可以根据场景配置相应的测试用例了。

线上压测配置

配置测试用例,实现真实压力,通常需要一个能够真实模拟海量用户的测试工具,WeTest压测大师为电商行业提供了一个适用的测试环境,提供了”上下文变量“、”全局参数化“等功能,可以满足电商产品大部分的测试需求。

“上下文变量“实现”用户登录”、”购买下单“场景

“上下文变量“实现的是将用户登录时的用户信息传输到下一个页面中,对于电商平台来说,可以真实模拟用户登录后,点击了”购买“,进入了购买页面。以下是操作介绍:

1、进入压测大师首页,选择一个已有的项目进入,如没有项目可以新建项目

2、创建一个新的URL测试,如下图:

3、在测试设置部分,填写压力预估的最大人数

这里当配置人数大于400时,为防范非法攻击等现象,需要对被测域名进行认证,点击域名认证按照提示认证即可。

4、在“客户端请求“点击”上下文变量“,开始配置

5、 “上下文变量设置“是为了实现URL之间参数信息的传递,因此需要点击右下角的”+一个URL请求“增加一个URL,然后保证第一个URL的”变量名“与第二个URL的字段保持一致

6、“提取方式“通常选择”键值对“较多(具体使用可根据实际情况),选择想要传递信息的”header名称“,确定”提取规则“。”提取规则“中所填写的就是传递到下一个页面的信息,比如电商平台用户的会员信息。

那么”提取规则“应该填写什么呢?我们需要在URL页面中去寻找这个”键值“。

首先在chrome浏览器中输入第一个URL,点击F12,点击Network,刷新一下页面之后点击最左侧的”setcookie_prep.php“,找到对应的header“Set-Cookie“,后面order_id后的值,就是我们将要传输给下一个URL的信息。

7、完成了”上下文变量“的设置之后,在“测试模型“中的场景中选择”上下文“模式,分别输入两个URL。

8、 如果自有服务器,则可以在“服务器监控“的”添加监控“中设置服务器信息;如果没有,则可以点击”立即执行“开始测试

“全局参数化“实现”商品遍历“场景

“全局参数化“实现的是通过自动更改”index“字段中的参数,实现遍历电商平台上所有商品页面,对电商平台上所有的商品页面模拟真实的用户压力。

1、点击右上角的“全局参数化“的设置按钮,开始设置全局参数化

2、点击“添加“,添加参数,将参数名修改为想要测试的字段,比如上面的”index“字段。另外参数化形式中有”自增“、”随机值“和”定长“三种配置方式。

“自增“可以设置”最大值“和”最小值“,比如最小值设置1,最大值设置100,就可以自定义服务器压力,遍历电商平台上参数值为1-100的所有商品;

“随机值“可以实现在自定义范围内随机对某商品页面进行压力测试;

“定长“通过设置一定长度下的数值,在这个范围内的所有商品页面进行随机的压力测试,比如定长设置为3,则会在”000-999“”aaa-zzz“之间进行随机的压力测试。

“全局参数化“可以设置”自增“、”随机值“和”定长“三种形式

“全局参数化“下的”定长“参数设置

对电商平台来说,要进行压测的部分不止是遍历所有商品页还有模拟真实用户购买那么简单,还会有搜索,聊天,收货,评价等更多的功能,本文通过两个简单的场景示例,可以帮助电商网站把测试成本降到最小,把测试效果放到最大,避免让电商平台的买家因为无法付款而流失。

做好这些,才能做出完整的电商产品。

WeTest压测大师 服务了包括王者荣耀、龙之谷手游、火影忍者等多款高星级手游, QQ、NOW直播等明星产品,更是服务了携程、京东、特仑苏以及各类规模的电商产品,此次推出”电商行业压测解决方案“,希望能够帮助开发者真实模拟电商用户使用场景,帮助开发者发现服务器端的性能瓶颈,进行针对性的性能调优。在保证用户流畅体验的同时,也能降低服务器采购和维护成本,实现用户与电商开发者的技术共赢!

“压测大师”目前已经开放对外,目前更有低至四折的时效资源包优惠,欢迎大家的使用!

✬如果你喜欢这篇文章,欢迎分享到朋友圈✬

关于腾讯WeTest

腾讯WeTest是腾讯游戏官方推出的一站式游戏测试平台,用十年腾讯游戏测试经验帮助广大开发者对游戏开发全生命周期进行质量保障。 腾讯WeTest提供:兼容适配测试;云端真机调试;安全测试;耗电量测试;服务器压力测试;舆情分析等服务。

本文分享自微信公众号 - 腾讯WeTest(TencentWeTest),作者:WeTest小编

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 双十一临近,怎样让买家流畅地秒杀? ——腾讯 WeTest 独家开放电商产品压测服务

    从拍脑袋到场景化压测,双十一的现象级大促从来不是一蹴而就。

    WeTest质量开放平台团队
  • 双十一,或将不再是双十一

    每年的双十一,我们都会看到各大平台不断攀升的销售数字,与此同时,平台和商家都在牟足了劲拼命宣传。即使在互联网红利已经落幕的当下,双十一各大平台的销售额都在刷新着...

    孟永辉
  • 全链路压测第一次实践

    每年双十一,对买家来说是一场买买买的剁手之旅,但对于电商公司的技术人员来说,却是一次严峻的技术期末考。如何保证系统在预估的流量洪峰来临时,既能保证用户的买买买不...

    老_张
  • 同样的双十一,不一样的新逻辑

    即将迎来第十二个年头的双十一正在遭遇越来越多的质疑,在这些质疑背后,正是传统电商模式与用户需求开始脱节的佐证。

    孟永辉
  • 浏览器做打假助手,它的边界在哪里?

    原创2015-03-15罗超 315即将到来,搜狗浏览器推出“打假助手插件”,这是一个在以天猫淘宝为主的电商网站中,插入购物提示信息的网购辅助功能。浏览器对电商...

    罗超频道
  • 唯品会“特卖”的生意不再好做?

    经过多年的发展,国内的电商格局已经基本趋于稳定。淘宝、京东、拼多多凭借其综合类的优势,占据了绝大部分的市场份额,其它市场则由以苏宁易购、唯品会等为代表的中小型垂...

    刘旷
  • 产业安全专家谈|零售电商如何做好营销风控?

    “双十一”刚刚过去,但是幕后的故事却不少。尤其是零售电商狙击黑灰产的战役,让不少商家到现在还没缓过神。商家们更是迫切地想知道,如何才能做好营销风控,如何才能更高...

    腾讯安全
  • 响铃:智慧零售步步推进,苏宁“双十一”发布会透露了那些信息?

    双十一来临前,正是各电商如火如荼备战的时候,引领零售革新的苏宁易购更是厉兵秣马,加紧为消费者准备这一场盛宴。10月16日,苏宁在南京总部举行““不止所见嗨购11...

    曾响铃
  • 隐秘而伟大,探访鹏博士大数据双十一背后那些真英雄

    “数据猿年度重磅活动预告:2020年度金猿策划活动(金猿榜单发布+金猿奖杯颁发+2.0版产业图谱+落地颁奖大会)即将推出,敬请咨询期待!

    数据猿

扫码关注云+社区

领取腾讯云代金券