购物季来袭:六大负载测试技巧

  1. 云栖社区>
  2. 博客>
  3. 正文

购物季来袭:六大负载测试技巧

boxti 2017-08-02 10:35:00 浏览1624

  【51CTO.com快译】又一波购物狂潮即将袭来——您的网站或者应用准备好了吗?

无论是国外的黑色星期五还是国内的双十一,又一波购物狂潮即将来临。我们该如何确保自己的网站或者应用做好战斗准备?以下六项负载测试技巧也许能够为大家带来一些启示。

1.尽早开始性能测试

俗话说“早起的鸟儿有虫吃”,性能测试同样遵循此理。负载测试工作开始得越早,您将拥有更多时间对相关问题加以解决,这将使大家在面对购物季时更具信心。

随着开发流程的演进,越来越多企业开始将持续集成(简称CI)、持续开发(简称CD)与持续测试(简称CT)策略纳入其中。通过在每一次变更代码、提升build及部署时定期执行负载测试,大家将随时了解到可能出现的问题,并在购物季开始前加以防范。当然,除了常规检查之外,大事件前的临时性特殊测试同样非常重要——正如演出前需要组织彩排一样。

2.对完整堆栈进行负载测试

在进行负载测试筹备时,请注意对整体基础设施、软件以及应用进行全面测试。其中包括通信设备、数据库以及网络等等。通过尽可能缩小测试环境与生产环境间的差异,大家能够获得更为准确的测试结果,从而及时发现更多性能瓶颈并降低在购物季过程中出现意外状况的可能。

  3.监控负载测试的后端结果

负载测试允许大家查看并分析各类性能KPI,包括响应时间与延迟,外加不同指标间的关联性。不过我们同样需要关注各项后端KPI,例如缓存命中率与数据库查询量等,检查意外状况下的错误日志,同时关注CPU/内存/网络使用量以及自动规模伸缩状态等标准硬件指标。

目前市面上存在多种能够分析测试结果的解决方案。New Relic提供应用性能监控工具,AppDynamics提供最终用户监控方案,而Amazon Cloud Watch则专门面向AWS云资源。

4.创建并模拟真实用户场景

在进行负载测试时,大家的用户及其需求必须得到着重考量。具体来讲,您需要根据其使用习惯创建场景。如果他们倾向于花大把时间浏览应用分类列表,则应将重点放在这一层面。如果他们习惯仔细查看网站表单上的详尽信息,请确保负载测试将这部分内容加入进来。总之,趋近于真实的负载测试能够帮助我们消除性能瓶颈,最终实现理想的用户体验。

5. 监控用户体验

负载测试能够确保您的站点或者应用不致崩溃,但大家可能仍需要保证用户拥有理想的使用体验。作为DevOps与CI(即持续集成)方案中的组成部分,我们建议大家同样对各类网络浏览器及操作系统进行测试,相关工具包括Selenium与Sauce Labs。如此一来,您将了解到任何所作出的变更是否会对性能造成影响。

6.将第三方合作伙伴与供应商纳入测试范畴

在对应用或者站点者变更时,大家不仅会影响到自身产品,同时亦会对应用或者站点上的第三方脚本、设备以及未经充分准备的服务器造成影响。举例来说,不同的CDN要求不同的实现方案,例如AWS负载均衡服务(简称ELB)就要求在进行负载均衡前首先进行预热。

另外,我们建议大家在进行测试之前联系您的合作伙伴,并进行一切必要的准备。这将确保负载测试能够考虑到其准备情况及全部既有处理能力(在未经通知的情况下,这种能力可能大打折扣)。除了带来更为准确的测试结果外,广泛知会还能确保大家节约时间与精力——即尽可能减少由第三方问题带来的意外。

  
  
 者:核子可乐译
来源:51CTO