网站地图 | RSS订阅 老铁博客 - 上海SEO优化|上海网站建设|蜘蛛池出租|站群代搭建
你的位置:首页 » 站群搭建 » 正文

如何压力测试电子商务网站

2019-8-6 10:6:15 | 作者:老铁SEO | 0个评论 | 人浏览

  如今,与百姓日常生活密切的电子商城、网络订票和网上银行等系统都是电子商务网站的典型案例。这些系统涵盖了产品宣传展示、商品选购、交易结算、服务与客户反馈等诸多功能。当需要同时向一个庞大的群体提供这些服务,性能考量往往是系统成功运营的关键。

  以国内某著名电子购物网站为例,该网站有3000万注册用户,日均访问量达8000万,日均订单处理超过30万单,日交易额过亿元。可以想象,系统性能对该网站拥有者的收益有着至关重要的影响。而且,网站的性能优化不仅可以提高用户的访问体验,还可以帮助商家节省网站的初始建站成本和维护费用。

  电子商务网站的性能优化,离不开仿真真实环境的压力测试。而思博伦通信则是这方面的专家。近几年,思博伦基于Avalanche的电子商务网站测试解决方案已经为诸多客户完成了这方面的测试,如:某电信运营商院线通系统,某著名大型视频门户网站产品预约/抢购系统,某权威电视媒体巴西世界杯直播节目“xx赢”手机版等。(相关测试服务需求可发送邮件至)

  其中,Web服务器、数据库服务器和应用服务器代表了网站的核心内容。具体说来,前端Web服务器负责接收并处理来自用户的HTTP请求,并生成Web页面反馈给用户;中间的应用服务器负责执行商务逻辑;后台数据库和文件服务器负责存储用户、产品信息及状态。有的系统在数据库服务器前还会部署数据缓存设备已提高访问性能。外围的防火墙/IPS是主要的网络安全组件。4~7层负载均衡器则充当了应用交换机的角色,负责在海量用户访问与多台服务器间进行负载分担。

  对这个复杂的系统来说,成百上千的服务器和其他设备捏合在一起,面对海量用户的访问,用户的行为也不一致,有的在注册,有的在修改购物车,有的在结帐,等等。仍能保证绝大多数用户顺畅地访问是一个挑战。与之相对应,创建一个可信的测试模型非常重要且也是一个挑战。评估系统中某个单一组件的性能并不复杂,但是,如果没有仿真海量用户且模拟真实用户行为的测试工具,想预知这个复杂购物网站系统的性能、瓶颈或故障点位于何处,更像是一项不可能完成的任务。

  对电子商务网站来说,系统故障往往意味着高昂的代价。一个大型购物网站、机票/酒店预订系统出现难以接受的页面影响延迟或拒绝服务,在一个小时之内,就会损失数百万元的订单。它对品牌信誉度的负面影响可能直接导致客户粘合度的降低,这种无形的损失影响更为深远。

  而且,系统出现故障的时机常常是商家最不愿意面对的。比如,某大型体育赛事网络购票系统刚刚上线;某购物网站五周年店庆限时抢;某商旅网出台暑期优惠套餐等。这些时刻对网站商家来说都是名利双收的黄金档。

  这些黄金档期的背后,往往意味着大量用户的突发访问,或者说并发用户多、单位时间用户上线快。

  一方面,网站希望推出更为丰富的特性来保持竞争优势,同时保证越来越多的客户仍能得到顺畅的服务。另一方面,网站架构师不得不深思熟虑。因为,网站的升级不只是换个主频更高的CPU、增加几条内存那么简单。不能对症下药、盲目地尝试不仅会浪费投资,还浪费了宝贵的占领市场的时间。

  架构师需要做出判断,哪些组件需要升级?或者说,系统目前的瓶颈是什么:是CPU处理能力滞后,导致复杂的动态网页不能及时被处理而延迟呈现给用户浏览器?是网络带宽或磁盘I/O不足,导致页面传输延迟明显增大?还是与数据库的连接承受不了目前的并发用户数规模?可以预见,若后台数据库急需优化,但此时只是忙于给前台Web服务器更换更快的CPU是无济于事的。

  值得注意的是,面对用户、流量可预见地持续增加,系统升级就已经不是信手拈来。更何况面对那些突发的状况?比如:春运期间火车票预订系统异乎繁忙,购物网站店庆优惠及时抢,以及暑期度假潮商旅网站的业务量激增等。

  而且,这些突发情况往往在短时间内结束,现实环境中很难复制。使得网站没有足够的时间在“实战”中找到瓶颈所在,并检验升级的效果。若等到下一个爆发周期再去验证,潜在的商业损失很大。

  作为强有力的压力测试工具,思博伦Avalanche通过模拟真实的用户访问,可以帮助电子商务网站找到性能瓶颈及故障点。

  1)抓取真实浏览器用户在电子商务网站上交易过程的URL,URL中包含注册、登陆、产品代码、账户等信息;

  2)将抓取的URL导入到Avalanche模拟的客户段的ActionList中,并根据需要进行修改,如:从Avalanche的数据库中顺序提取10000个不同的用户/密码用于登陆;

  3)Avalanche模拟的客户端可仿真不同的浏览器及不同的版本。支持Cookie,并可与SSL结合用于加密访问;

  4)Avalanche中的ActionList被顺序执行,并支持条件判断等,用于网站返回值的验证。

  以某购物网站为例,用户访问首页并进行注册,之后自动或手工登陆,然后进行选购。在将选购商品加入购物车后,通过网上交易平台完成结帐(在性能测试中,结账部分一般可以由研发人员在Avalanche执行某个动作后返回特定值来模拟,而不会走真正的付款流程)。如下图所示。

  当然,除了以上主要业务流程外,网站还包含其他用户行为,如:用户浏览不同分类下的产品宣传、修改或取消订单、用户收到货物后对产品和服务进行评价等。

  Avalanche对上述行为进行仿真,如:登陆、浏览、选购、评价等。并且可以按照一定的比例对用户的行为进行混杂,如:90%的在线%的用户点击“即时抢”,10%的用户在下订单,等等。

  Avalanche可模拟数百万的并发客户,通过Internet访问电子商务网站。测试拓扑如下图所示。

  在此拓扑中,可以将电子商务网站作为一个整体进行评估,即整个网站被看成一个“黑盒”。也可以在发现整体出现问题后,采用隔离法对网站中的某个或某几个组件进行单独排查测试。比如,测试系统中的缓存设备对某些页面是否有效;在面对海量、具有混杂行为的用户时,响应成功率的下降原因等。

  1)通过对在线影院订座/购票平台的性能测试,为营销推广提供有力支撑和可行性评估,为系统扩容工程提供量化依据;

  2)通过对平台各个子系统(接入、订购、支付)的处理能力进行测试,检测各子系统和端到端的网络服务质量。

  本测试主要包括压力测试和过载测试。测试要求模拟真实的用户行为,并按照指定的行为比例进行混杂。测试涵盖查询、选座、订单提交和支付等业务流程,涉及接入子系统、订购子系统和支付平台。

  当用户行为确定后,Avalanche通过调整用户规模,如并发用户数或交易速率来提高或降低对被测系统的压力。

  运行过程中和测试结束后,Avalanche提供从网络流量、TCP到应用交易各个层面的状态统计和结果。如下图所示。

  除了端到端测试,还分别对各个子系统进行了评估,包含:接入子系统、订购子系统和支付子系统。例如,下表为接入子系统的结果统计。

  1)Avalanche配置简单,软、硬件结合,无需采用多台PC/服务器同时部署某用户行为仿真软件的方式,某仿真软件配置需花一周左右的调试周期,而Avalanche配置调试过程只需要半天时间;

  2)测试流程真实有效;通过对服务器端日志、用户数据库参数变更及返回结果值,反向验证了Avalanche测试仪发起请求的线)压力测试反映了现网真实的结果。用PC/服务器+某仿真软件的方式模拟大量并发用户做性能测试,均无发现服务器性能瓶颈。但在去年的圣诞节期间,我系统多次因大量用户的登录和付费而瘫痪宕机,采用Avalanche则轻松复现这一系列问题。

  4)测试结果丰富,帮助研发人员快速定位问题;通过对ErrorCode、客户端独立统计、TCP结果等综合分析,研发人员能快速在事件日志中找到问题原因。

  在产品预约、抢购活动开始之前,对网站系统的性能进行测试;通过压力测试,找到系统瓶颈,进而帮助系统优化,确保预约/抢购活动的顺利进行。

  本次测试为压力测试,设计到网站系统的登录模块、预约模块、抢购模块和支付模块。要对包括每个模块的性能和整个系统的性能进行测试,测出系统瓶颈和薄弱环节。

  需要模拟大量真实用户同时操作,查看交易成功率和页面响应时间。同时确保系统在压力测试的情况下响应及时,不会产生未知错误影响网站用户体验。

  在压力测试时,网站系统登录模块、抢购模块和支付模块后台均出现报错信息。经定位发现诸多问题,举例如下:

  在压力测试时,会产生相关的总体结果,同时也会统计网络系统中产生的二层到七层的详细结果,对于系统问题分析和定位有很大帮助。如下图:

  在思博伦Avalanche的帮助下,不仅帮助用户很快定位出系统瓶颈和问题,而且,在用户解决了问题后又再次进行了验证和调优,很好的保障了预约/抢购活动的进行,保证了系统最终上线时,用户的良好访问体验。

  面对潜在的海量手机球迷用户,巴西世界杯“xx赢”节目上线前进行系统瓶颈查找及性能优化。

  使用思博伦Avalanche仿真大量手机用户访问“xx赢”网站。针对《xx赢》各个手机访问接口,如注册、验证、登陆、答题,模拟大量世界杯球迷注册、验证、登陆及答题行为,对系统进行了不同规模的压力测试。既仿真节目外的平缓海选时段,又仿真每晚《xx赢》与电视直播同步的答题节目开始后的高峰突发时段;既模拟出不同的手机号段与验证码,又对网站的返回结果进行关键字搜索和判断。

  网站的注册接口和答题接口,在指定的用户规模仿真下,研发人员本来认为可以顺畅访问的情形,均发现了明显的性能障碍。在思博伦Avalanche的反复测试配合下,研发人员解决了存在的代码问题和数据缓存服务的设计问题。为系统在世界杯直播期间的顺畅访问作出突出贡献。

  • 本文来自: 老铁博客,转载请保留出处!欢迎发表您的评论
  • 相关标签:网站测试  
  • 已有0位网友发表了一针见血的评论,你还等什么?

    必填

    选填

    记住我,下次回复时不用重新输入个人信息

    必填,不填不让过哦,嘻嘻。

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。