文档

应用压力测试与性能评估最佳实践

更新时间:
一键部署

前提条件

本实践适用企业版V3.12及以上版本。

主要涉及阿里云应用高可用服务AHAS产品的性能测试PTS功能。

背景信息

高可用服务AHAS的提供架构感知、全链路压测、性能压测、流量防护、故障演练、功能开关等高可用能力。零代码改动,一键启用为业务核心场景全面提升稳定性和韧性。

性能测试PTS(Performance Testing Service)是具备强大的分布式压测能力的SaaS压测平台,可模拟海量用户的真实业务场景,全方位验证业务站点的性能、容量和稳定性。

PTS旨在简化性能压测本身的工作。

PTS目标是将性能压测本身的工作持续简化,使您可以将更多的精力回归到关注业务和性能问题本身。在PTS平台上,您可以用较低的人力和资源成本,构造出最接近真实业务场景的复杂交互式流量,快速衡量系统的业务性能状况,为性能问题定位、容量配比、全链路压测的流量构造提供最好的帮助。进而提升用户体验,促进业务发展,最大程度实现企业的商业价值。

应用场景

PTS广泛应用于各种压力测试和性能测试场景,包括但不限于以下场景:1

PTS孵化于服务阿里巴巴全生态五年以上的单链路、全链路压测平台,是阿里巴巴内部最佳实践的输出。该平台对内除了支持日常的外部流量压测之外,同时支持了大大小小的促销活动,如天猫双11、双12和年货节等。

实践步骤

压力测试应用准备

  1. 应用架构。

    Nginx与前端代码部署在一个容器;

    负载均衡SLB使用7层协议负载到前端容器NodePort;

    Nginx与网关服务使用K8s服务发现,微服务之间使用企业级分布式应用服务EDAS提供服务发现。2

  2. 应用业务流程。

    1. 核心业务流程。

      • 用户登录。

      • 商品列表。

      • 商品购买。

      • 订单生成。

      • 查询订单。3

  3. 测试环境说明。4

场景一:单场景性能压测

  1. 测试场景。

    1. 测试内容:基于查询订单列表的业务场景进行压力测试,对订单服务进行性能评估;

    2. 预期结果:查看平均响应时间、平均吞吐量TPS、成功率,在成功率>=90%且响应时间RT<=1s条件下,记录吞吐量TPS、并发虚拟用户数(VU)、成功率和响应时间RT 。

      说明

      挑选核心业务场景,针对该业务场景限定SLA,使用压测工具阶梯式的增加VU进行压力测试,同时使用监控工具查看该业务场景下全链路的监控数据,综合分析压测结果数据和性能监控数据,获得该核心业务场景的业务承载上限,为后续性能优化和高可用设计提供可靠输入。

  2. 测试步骤。

    1. 输入阿里云专有云账号密码登录Apsara Uni-manager运营控制台。5

    2. 在上方导航栏单击产品>监控运维>应用高可用服务 AHAS 2.0 版本,进入AHAS控制台。6

    3. 在左侧导航栏单击性能压测>创建场景>PTS原生压测,进入PTS原生压测模块,创建压测场景。7

    4. 设置场景配置,在创建压测页面,单击场景配置,键入压测API的名称,对应用的查看订单列表业务进行压测配置。1

    5. 设置施压配置,单击施压配置,选择压力模式、递增模式、最大并发、压测总时长等信息。完成后单击保存去压测,查看压测报告。1

    6. 在左侧导航栏单击性能压测>压测报告>查看报告,查看压测结果。10

    7. 查看压测数据信息。11

    8. 单击明细,查看压测明细。1压测完成,2000UV压测场景下,查看订单列表的业务场景可以支持。

场景2:全链路压测

  1. 测试场景。

    1. 测试项:全链路压测 。

    2. 测试内容:基于浏览商品>查看商品>立即购买>提交订单的业务场景,在并发设置为500虚拟用户并发压力下进行压力测试。

    3. 预期结果:记录平均响应时间、平均吞吐量TPS、成功率。

      说明

      挑选核心全链路业务场景,使用压测工具阶梯式的增加VU进行压力测试,同时使用监控工具查看该业务场景下全链路的监控数据,综合分析压测结果数据和性能监控数据,获得各链路中业务场景承载上限和链路中的瓶颈点,为后续性能优化和服务限流、熔断、热点限流、故障注入设计提供可靠输入。

  2. 测试步骤。

    1. 输入阿里云专有云账号密码登录Apsara Uni-manager运营控制台。13

    2. 在上方导航栏单击产品>监控运维>应用高可用服务 AHAS 2.0版本,进入AHAS控制台。14

    3. 在左侧导航栏单击性能压测>创建场景>PTS原生压测,进入PTS原生压测模块,创建压测场景。15

    4. 在创建压测页面,单击场景配置,键入压测API的名称,并添加串联链路,对应用的浏览商品>查看商品>立即购买>提交订单的业务链路进行压测配置。1

    5. 设置施压配置。

      单击施压配置,选择压力模式、递增模式、最大并发、压测总时长等信息。完成后单击保存去压测,查看压测报告。1

    6. 压测结果。

      单击性能压测>压测报告>查看报告,查看压测结果。18查看压测数据信息。19单击明细,查看压测明细。1压测完成,500VU全链路压测,浏览商品>查看商品>立即购买>提交订单的业务链场景可以支持。

  • 本页导读
文档反馈