互联网电子商务业务系统压力测试新进展

互联网自诞生之日起,就注定了它的辉煌,也从没像今天这样繁荣空前。如今电子商务、新媒体、资讯门户、电子银行、电子病历无处不在。作为网民数量最多的国家,当这些网络应用越来越贴近人们的日常生活时,就很难想象现在的网民离开互联网的生活会怎样。

中国正在迈向网络无处不在的时代。4.2亿——这个数字让中国成为世界上网民数量最多的国家。

CNNIC发布的最新一期中国互联网络发展状况统计报告显示,截至2010年6月,中国网民规模达到4.2亿,互联网普及率攀升至31.8%。截至2010年6月,手机网民用户高达2.77亿[1]。

电子商务平台之变

毫无疑问,在线人数的高速增长带来的是电子商务的无限商机,我们也看到国内很多电子商务平台抓住了这样的机会,如今,越来越多的传统行业也将业务延伸到互联网渠道。值得注意的是,这种趋势也给互联网在线业务带来五个方面的变化:

一、WEB在线应用越来越复合化,也就是说用户进行在线交易时浏览器中展现的内容已经不仅仅是网站的内部IT系统,而是包括来自第三方和共享服务的内容,例如网上购物页面,也许广告部分是来自第三方独立的广告公司,支付时访问的内容则是来自银行,或者第三方支付平台内容。这些内容最终都聚合到用户的浏览器中,在用户看来,这些内容都是来自在线销售商的业务提供的内容;

二、每个交易教程设计的主机数目日益增加,其中在中国的网站每个交易流程设计的主机数目平均达到了9.1个;

三、被访问的内容中来自更多的不同地理位置的资源,超过60%的页面内容来自2个以上的不同城市。

四、业务逻辑原来越被推送到用户端,随着Ajax技术的成熟和大量应用,大量的业务处理逻辑被推送到本地运行,而这些业务逻辑在不同浏览器中运行效率差异显著。

五、用户访问在线业务的方式也日新月异,不再仅限于传统PC桌面通过宽带访问,而是更多业务来自手机、平板电脑等不同设备和无线移动互联网,但是同时也可以看到客户对通过无线访问在线业务性能的期望也是很高,例如美国在线购物者期望通过无线访问的交易系统页面在2秒以内打开。超过58%的移动互联网用户期望手持设备的浏览性能和PC表现一样优异。从右侧对美国IPHONE用户的访问统计分析可以看到,当页面响应时间超过3秒以后,页面丢弃率出险明显上升,到了4秒时丢弃率已经传统互联网用户访问网站的丢弃率曲线基本一致了。

电子商务平台之痛

我们非常清楚,对于一个在线业务系统来说,更多的流量意味着更高的转化率,更多的收入和更少的边际成本。但如果网站不能支撑用户访问的负载,那就意味着投资化为乌有,也意味着你的品牌不但没有给用户带来益处,反而有可能导致品牌负面影响的产生。

这一点在网站访问高峰时间体现的尤为突出,例如圣诞节、中秋节、春节等有大量购买行为的季节,客户访问时的转化率本应非常高,换句话说,商家将在这个时段有更多的销售收入。事实果真如此么?我们来看一份调查,结果可能会让很多人身同感受。

这是一份对1500多名在零售、旅游和金融服务三个行业在线购物者进行调[2]查,结果发现,在受访者中,有超过60%的用户期望这个时段网站性能应该和平时一样好,但是有70%左右的用户对高峰时段的性能表现不满意。在发现访问缓慢时,有将近80%的用户会尝试其他同类网站进行购物;并且接近90%的用户会减少甚至不再访问这个网站。有一半受访者会对此网站产生负面印象,而超过40%的用户会将其体验感受告诉给朋友和家人。从而导致性能缓慢的网站的品牌、客户忠实度以及收入下降。想想看,你是否也有类似的经历和感受呢?

这份调查的详细数据如下表所示:

行业

统计数据

零售

l  超过51%的用户在高峰时段访问在线系统时,每小时购买金额远远超过平时

l  在经历1-2次糟糕的性能体验以后,41%的用户将会选择其他购物网站进行购买

l  2009年美国圣诞节时段,超过33%的用户对在线购物体验不满意

旅游

l  超过35%的用户在高峰时段访问在线系统时,购买旅游产品金额远远超过平时

l  在经历1-2次糟糕的性能体验以后,53%的用户将会选择其他购物网站进行购买

l  2009年美国圣诞节时段,超过24%的用户对在线购物体验不满意

金融服务

l  超过51%的金融服务用户和65%的股票交易用户在高峰时段访问在线不满意

l  如果对在线服务不满意,40%的在金融服务用户和57%的股票交易用户将选择其他供应商服务。

显然,高峰时刻的在线业务系统表现并不尽如人意,尤其是在新业务上线或者老业务升级时,成为大部分国内电子商务网站无法言表的痛处。

电子商务平台的压力测试

为了确保业务系统在任何情况下都能表现优异,电子商务平台需要选择一种性价比较高的解决方法,来权衡自身平台究竟能承受多大负载,怎样改进机制有效增加负载。

压力测试就是一种非常有效的解决方法。电子商务平台通过完善和全面的压力测试来掌握业务系统的承压能力,对不同压力情况下业务系统响应时间和用户体验进行量化管理,以达到知己知彼,百战不殆的效果。

目前针对在线业务系统做压力测试有三种不同选择,这里分别称为Load1.0,1.5和2.0,如下图所示:

传统压力测试,这里也被称为Load1.0,是一种非常古董的压力测试方案,采用Load runner等产品在内网录制脚本,然后从内网向目标业务系统发起访问压力负载,但是由于WEB应用传输链涵盖的范围不仅仅是防火墙内部,还包括互联网以及第三方内容,因此这种测试方式对于内部业务系统的单元测试是一个不错的选择,而对于互联网在线业务系统在显得力不从心,难以全面反映在不同访问负载情况下业务的真实表现。

Load1.5,这种压力测试方法类似于Load1.0,区别在于访问负载压力发生器被部署在外网的云计算节点中,相对于Load1.0,Load1.5能相对更全面的测试WEB业务传输链中涉及的网络连接等有可能影响用户体验的环节,但是它还是缺乏对WEB业务传输链中最终用户的覆盖。

在压力测试方面,国际知名企业Gomez作出了很多技术研究,在其推出的基于SaaS模式的新一代真实环境压力测试平台-Load2.0中,结合了云计算压力节点负载和最终用户压力负载的解决方案,能全面覆盖WEB业务传输链中所有相关单元。并且压力测试负载时按照压力发生数量和时间收费,因此无需单独购买软件和硬件,可以极大的节省IT测试投入。通过Load2.0,可以实现:

  • 确保WEB系统在不同压力下的扩展能力
  • 在发布或者升级之前准确了解应用性能瓶颈
  • 减少WEB应用和基础设施变更风险
  • 充分了解第三方内容服务商对业务的影响
  • 方便的基于WEB方式访问SaaS平台,容易和便捷的在指定时间,制定负载量进行测试,整个过程完全自动化无需人工干预

事实上,最重要的一点是作为压力测试的发起者,WEB业务运营人员可以从最终用户的视角去观察业务在不同压力负载下的业务访问响应时间,由于最终用户分布在整个互联网的不同地域,因此压力测试就应该包括最终用户桌面发起的压力,并且从最终用户的角度评测在线业务系统的响应情况。Gomez在全球有超过15万个活跃桌面用户,可以帮助企业主进行全面的压力测试,例如,从左面图我们可以看到一个业务流程有四步,在压力情况下其中一个页面时导致整个流程变慢的主要原因,而在导致这个页面变慢的是其中一个主机;从下面的图可以看到随着负载数量增加,页面的响应时间开始趋于变慢,而页面访问的错误数量也在增加。

 

 

Gomez的真实环境压力测试Load2.0解决方案结合云计算技术以及大量终端用户产生压力,保证企业主可以全面完整掌握在线业务系统的负载能力及其对应的响应时间。而不会出现在高峰时刻出现的业务系统崩溃,流失客户,品牌受损的情况。

如今,以电子商务平台为代表的中国互联网出现了异常繁荣景象,但很少有人关注这种繁荣背后存在的问题。知名的电子商务平台每推出一次促销或秒杀,瞬间流量足以使网站崩溃,任何电子商务平台的老板都不希望发生这样的事情。这其中的关键问题是,电子商务平台是否清楚在线业务系统到底能承受多大的压力。

在瞬息万变的互联网中博得一席之地,让亿万中国网民从中受惠,电子商务平台,你还有很多技术工作要做。

[1] “ 第26次中国互联网络发展状况统计报告” 2010年7月15日中国互联网络信息中心

http://www.cnnic.net.cn/html/Dir/2010/07/15/5921.htm

[2]  "a study of consumer Internet usage experiences during peak traffic times"  2010

Equation Research http://www.eqr1.com