六月,无疑是又一个电商盛宴,您是否还对不久前的双十一和双十二活动印象深刻,且心有余悸?本应是销售额欢欣鼓舞的时刻,却因网站加载慢、服务器压力过大、支付系统瘫痪等种种问题而变得焦头烂额。对于电商而言,购物狂潮咋就变成了噩梦。
有媒体曾报道,去年3月苹果用户的一次App Store和iTunes 的连接故障,所导致的损失竟高达每小时220万美元。
如何将新的购物季变成电商业务部门和IT部门共同的饕餮盛宴,实现业绩井喷,我们在此提供几个参考步骤供您测试自己的网站,进而做好充分的准备迎接即将到来的巅峰时刻。
通过测试发现性能问题
众所周知,网页加载慢就意味着不良的销售业绩。为防患于未然,在购物狂欢节到来之前有必要通过以下步骤来测试您的网站
1. 跟去年比较进行评估
·去年购物季,多少用户访问了您的网站?
·那段时间您的高峰需求是什么(在什么时候)?
·在高峰时段,您网站的平均响应时间是多少?
·用户是从哪个环节开始放弃购物结算的?
·您有多少个被拒绝的链接?
·多少个用户中断了会话?
·流量的主要来源是哪里?
·去年是否发生过重大事故?
2. 设定您希望达成的目标
·缩短响应时间从而减少放弃购物行为;
·寻找瓶颈位置,识别占用硬件资源多的交易;
·增强处理并发请求的能力;
·改善用户体验,例如消除冗余代码等;
·花最少的钱解决最实际的问题,比如不必要的数据库查询、大尺寸图片等。
3. 部署性能监测产品,从而帮您解决上述问题
·监测终端用户体验、app与系统性能等;
·记录从用户端到系统后端的所有交换路径;
·显示问题代码、SQL与系统资源并进行诊断;
·实现开发、质保与生产的多方协作;
·实时监测以确保最佳用户体验。
4. 使用虚构顾客进行模拟试验
·编写脚本为您的网站制造大量请求,从而发现高峰时段瓶颈;
·为每一个测试路径、cookies等编写脚本;
·为浏览购物、添加商品到购物车、以及购买结算等环节编写脚本;
·编写脚本创建顾客账户并订购货物。
5. 测试
·测试并监测各项应用性能;
·捕捉诊断信息并分享给开发团队;
·重复测试以确保之前发现的缺陷得到有效解决;
·保存测试样本与结果以备日后所需;
高保真应用性能监测产品是端到端测试与生产监测的最重要资源之一,这类产品可参考Riverbed提供的SteelCentral? AppInternals。
SteelCentral AppInternals可以监测从用户端到后台的每项交易,深挖应用层获得重要信息,发现性能问题,提醒IT人员,从而在用户投诉之前有效解决与代码、SQL或系统资源相关的问题。
不同于普通应用性能管理工具采用一分钟或更长的时间间隔进行交易采样累积性能指标,AppInternals保存了每次交易及其相关系统指标与调用树等的记录,包括参数、URL、用户信息与远程调用等。于是,IT得以详尽重建过往事件,评估影响,并基于可行性分析从根本上解决问题。这种详细程度的信息甚至可以发现并诊断出那些间歇性出现的问题,消除了“一切都好”或者误报等问题。
解决关键问题
经过以上的测试,我们可以发现许多值得关注的重要问题。我们在此列出最普遍的问题和解决方法:
1.过多的拒绝服务连接: 解决方法是注意负载平衡。如果您的服务能力不足,您可能需要在顾客开始抱怨前增加更多的负载平衡设备。
2.加载速度慢:服务器端压缩是关键所在。由于小文件需要的加载时间短,您有两个最佳选择:1) 缩小JavaScript与CSS。 2)消除冗余数据,缩小图片尺寸。至于第三种方案,您也可以使用内容交付网络(CDN)来缓存距离用户最近的边缘服务器上的内容。该区域的后续请求会直接发送到缓存的副本,从而缩短加载时间。
3.低效代码:如果您在自己的网站使用第三方服务,执行这些服务的代码可能会向第三方资源发送请求,导致速度变慢。为了避免这种现象,请不要在标记中直接加入代码,尽可能避免使用第三方代码。并同时检查您自己的代码和数据库查询以避免低效代码。
4.高跳出率:缓存时常调取内存中数据进行快速访问,请将缓存存储在本地文件系统中,或使用分布式缓存。
5.峰值需求超出预期: 使用自动调整工具,准备好应对意外高峰流量。当需要时,启用额外服务器,而需求下降时则自动停止。许多云供应商–比如Microsoft Azure–可以在您需要额外服务器容量的时候,允许您使用“云爆发”。SteelCentral AppInternals是得到Azure认证的技术,您可以在Azure Marketplace上查到。
高峰时期的监测
为了冲击业绩新高,需要做好方方面面的准备,而其中的购物平台则是重中之重。我们需要在购物季始终保持优越的性能,请确保使用像Riverbed SteelCentral AppInternals这样的高保真应用性能管理工具,持续监测应用,在终端用户发现之前检测并解决问题。
本文作者系Riverbed公司大中华区总经理 袁志陵