服务等级定义 SLA(Service Level Agreement)是判定压测是否异常的重要依据。压测过程中,通过监控核心服务状态的 SLA 指标数据,可以更直观地了解压测业务的状态。

PTS 基于多年的业务沉淀,制定了一些行业通用 SLA 模板,您可以直接在压测中使用,具体可参见通用 SLA 模板

除此之外,您也可以自定义符合业务需要的 SLA 规则,应用到特定的压测场景中。本文将介绍如何创建自定义的 SLA 规则。您可以设置量化指标、设置触发报警或停止压测的条件,便于实现智能化的压测。

名词解释

在使用该功能时,请先了解 PTS 对于 SLA 相关名词的说明。

SLA
服务等级定义 SLA(Service Level Agreement)是判定压测是否异常的重要依据。压测过程中,通过监控核心服务状态的 SLA 指标数据,您可以更直观地了解压测业务或架构的状态。
SLA 指标
SLA 指标是指从哪些指标监控压测过程数据,主要包括业务质量相关指标、ECS、RDS 和 SLB 监控类指标。PTS 将在后续迭代中逐步增加队列、SQL 连接等方面的 SLA 指标。
SLA 规则
SLA 规则是在 SLA 指标的基础上,添加了判断条件,以触发告警或停止压测。
SLA 模板
SLA 模板是 SLA 规则的集合,可包含一个或多个 SLA 规则。SLA 模板与行业类型绑定。

SLA 指标

SLA 指标是指从哪些指标监控压测过程数据,详细指标说明见下表。

SLA 指标类型 SLA 指标项 SLA 指标项说明 最小监控粒度
业务质量相关指标 RT (Response Time) 压测中 API 的响应时间。 1 秒
RPS (Requests per Second) 压测中,每秒发出的压测请求数量。
成功率 压测中 API 的请求成功率。
ECS 基础监控相关指标 CPU 利用率 即 CPU 使用率,指一段时间内 CPU 被占用的情况。 1 分钟
内存利用率 一段时间内内存被占用的情况。
load5 5 分钟内系统的平均负荷。
RDS 基础监控相关指标 CPU 利用率 即 CPU 使用率,指一段时间内 CPU 被占用的情况。 5 分钟
连接利用率 连接数是指应用程序可以连接到 RDS 实例的数量。连接利用率即已经使用的连接数百分率。
SLB 基础监控相关指标 丢弃连接数 端口丢弃的连接数,从 IP:Port 维度进行统计。 1 分钟
异常后端 Server 例如,后端异常 ECS 实例个数

自定义 SLA 操作步骤

除了通用 SLA 之外,您也可以自定义符合业务需要的 SLA 规则,应用到特定的压测场景中。自定义 SLA 模板步骤如下:

  1. 登录 PTS 控制台,在左侧导航栏单击SLA管理
  2. SLA管理页面,选择自定义SLA页签,单击右上角自定义SLA按钮。

    说明 如果您要基于某个通用 SLA 模板自定义 SLA,可在SLA管理SLA模板页签下,单击目标 SLA操作列的复制到自定义,克隆目标 SLA 至自定义 SLA 页面,再对其进行编辑。
  3. 在创建SLA页面,填写自定义的 SLA 名称、SLA 描述,并选择该 SLA 适用的业务类型。

    db_customize_SLA
  4. 单击 +添加SLA规则,在添加SLA规则窗口中,设置具体信息。 添加SLA规则
    • 规则名称:自定义规则的名称。
    • 指标名称:选择具体指标,如业务指标 > RT。
    • 阈值及报警级别:勾选并设定触发报警、停止压测的具体阈值。
      • 警告通知:满足条件时,通知报警接收人。
      • 停止压测:满足条件时,立即停止压测,并通知报警接收人。
    • 设置每个条件的敏感度。

      • 敏感,连续一次:压测过程中,该指标只要一次符合报警或停止压测的条件,即触发报警或停止压测。
      • 可容忍,连续三次:压测过程中,该指标连续出现 3 次,符合报警或停止压测的条件,即触发报警或停止压测。
      • 不敏感,连续五次:压测过程中,该指标连续出现 5 次,符合报警或停止压测的条件,即触发报警或停止压测。
      说明 压测中每隔 5 秒统计一次 RT、RPS 和成功率的数据。
  5. 添加SLA规则窗口中,单击确定
  6. 自定义SLA框中,再次单击确定,完成创建。自定义SLA名称界面

    自定义SLA页签下的列表中,可以查看创建的 SLA。

后续步骤

  • 使用 SLA

    创建压测场景时,直接将通用 SLA 或自定义 SLA 应用到具体 API 上。具体操作步骤,参见配置场景 SLA

  • 编辑 SLA

    自定义SLA页签下的列表中,单击某个自定义 SLA 操作列的编辑,可修改名称、描述和规则等信息。

  • 删除 SLA

    自定义SLA页签下的列表中,单击某个自定义 SLA 操作列的删除,可删除该 SLA。

更多信息