全部产品

使用 PTS 监测日常业务

更新时间:2019-07-23 22:09:47

随着移动互联网的继续普及,业务连续性的要求越来越高,如何先于用户发现不同地域或者运营商网络下的核心功能可用性问题是所有移动互联网场景下的业务都需要思考或者解决的问题,有别于普通的拨测,我们更需要一种动态API的监控方式,而且是基于特定业务含义场景下的API的监控(如登录、一些具体的业务行为),结合不同地域和运营商的边缘计算的节点算力去探测全国范围甚至是全球范围内的核心动态业务的可用性和性能。

本文以典型的电商业务为例:每天 20:00 发起一次探测为例(实际可以设置更高的频率),指定压测流量来源为华北区域,一旦压测中请求成功率低于 100% 即停止压测,PTS会通过钉钉机器人通知进而可以进行异常排查。

背景信息

典型的电商核心业务场景一般包括以下流程:登录 > 查看类目商品列表 > 查看子商品信息 > 添加购物车 >确认订单,前后 API 之间可传递参数。

对于电商中的核心业务,需每天监测,保证业务表现正常,如出现失败,可及时排查。

操作流程

该示例中涉及的主要操作流程如下:

  • 步骤一:创建压测场景

    根据业务模型构建压测场景,该示例中将使用电商典型场景,并在 API 之间进行参数传递。

  • 步骤二:配置压测量级并指定地域

    根据业务压测需要设置,该示例中将设置每个接口 1 RPS,同时指定流量设置为华北区域。

    说明:根据运营商和地域设置压测流量的来源,是可选步骤,您可以根据自己的业务需要选择是否使用,不指定则PTS会随机调度全国范围内的节点。

  • 步骤三:设置 SLA

    根据业务要求设置 SLA 监控指标和规则,该示例中将设置请求成功率低于 100% 时即停止压测,出现异常就需要人为介入排查问题。该示例中的 SLA 比较严格,适用于核心业务。

  • 步骤四:设置定时任务

    该示例中将设置每天执行一次压测任务。定时压测任务设置成功后,PTS 将定时自动发起压测。

步骤一:创建压测场景

根据业务模型构建压测场景,该示例中将使用电商典型场景,并在 API 之间进行参数传递。

  1. 登录 PTS 控制台,在左侧导航栏选择创建压测 > 快速压测

  2. 创建压测页面,填写场景名称。

  3. 为该场景准备文件参数,具体步骤参见创建文件参数

    该示例中导入了两个参数文件,共定义了 3 个参数,分别是 itemID_global、username、password,如下图所示:

    261

  4. 创建压测页面,编排业务接口(API)。

    该示例为电商业务,共编排了五个业务接口(API):登录、查看类目商品列表、查看子商品信息、添加购物车、选做_确认订单。并设置了 API 之间的参数传递。

    具体步骤如下:

    1. 填写第一个 API:登录的基本请求信息。

      • 压测 URL:输入具体的业务接口。
      • 请求方式:POST
      • 数据轮询一次:选择该选项,表示该接口的文件参数数据只轮询一次。例如,用户数据的文件参数有 1000 行,则压测轮询一次 1000 个用户数据后就会停止压测。

      登录

    2. 登录接口的 Body 中定义用户名和密码,使用已导入的文件参数 username 和 password。

      根据业务需要,也可以在 Body 中定义其他内容,如下图中的 signon 即自定义的 Body 内容。

      263

    3. 填写第二个 API:查看类目商品列表的基本请求信息。

      • 压测 URL:输入具体的业务接口。
      • 请求方式:GET
    4. 选择出参/断言定义,提取 productId 作为出参,传递给下一个 API。示例如下:

      264

    5. 填写第三个 API:查看子商品信息的基本请求信息,并在其 URL 中带入上一个 API 提出的参数 productId

      265

    6. 选择查看子商品信息出参/断言定义页签,提取出参 itemID

      267

    7. 填写第四个 API:添加购物车的基本请求信息,并在其 URL 中带入上一个 API 提出的参数 itemID

      268

    8. 选择添加购物车出参/断言定义页签,提取出参 prod_item_Id_check,并设置为断言:product ID 小于 1000 时该业务断言成功,否则为失败。

      269

    9. 填写第五个 API:选做_确认订单的基本请求信息。

    场景创建成功后,如下图所示:

    270

步骤二:配置压测量级并指定地域

由于是业务监测,该示例中将每个接口设置1的起步RPS,同时指定流量按照比例来自是华北地域。

具体步骤如下:

  1. 创建压测页面,选择施压配置页签,选择 国内公网RPS模式 设置各接口API的最大RPS为10即可,起步都设置为 1 RPS,压测时长 1 分钟即可,如图所示:

271

  1. 选择流量定制(指定地域、运营商来源),单击详细配置,指定压测来源为华北地区 100%。如图所示:

272

步骤三:设置 SLA

根据业务要求设置 SLA 监控指标和规则,该示例中将设置请求成功率低于 100% 时即停止压测,出现异常就需要人为介入排查问题。

具体步骤如下:

  1. 创建压测页面,选择SLA定义页签,单击创建SLA,填写 SLA 名称、选择业务分类。
  2. SLA规则下方单击 +添加规则,在添加SLA规则窗口中设置成功率低于 100% 时停止压测,如图所示:

    273

  3. 返回创建 SLA 页面,保持 SLA 的适用对象为空,即该规则适用于全部 API。

    274

  4. 高级配置区域,选择停止压测的联系人,选择钉钉作为通知方式,如图所示:

    275

    说明:需提前创建联系人,具体步骤参见管理接收人

步骤四:设置定时任务

该示例中将设置每天执行一次压测任务。定时压测任务设置成功后,PTS 将定时自动发起压测。

具体步骤如下:

  1. 创建压测页面右上角,单击场景调试。定时任务的前提是压测能够顺利执行,所以设置定时任务前,需进行场景调试。

    稍等数秒后,查看场景调试页面,API 响应符合预期即表示成功。

    276

  2. 单击创建压测页面右上角的保存去压测执行周期选择定时压测。配置其他项:

    • 执行频率:选择定期执行,在时间窗口中选择 20:00,并在日粒度下选择全部。您可以在当前页面预览最近五次压测的时间。
    • 执行通知方式压测开始前通知
    • 通知对象及通知方式:选择已创建的联系人,并通过钉钉通知。

    如图所示:

    277

  3. 单击确定,完成创建。

    在指定日期和时间,系统将自动发起压测。

    每次压测时的请求正确率不足 100% 时,钉钉将收到压测已停止的通知,可能就代表业务有异常了,需要及时排查跟进。