抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台

功能介绍

压测验收是解决方案接入的关键稳定性验证阶段;
开发者需基于真实业务场景,完成平台提供的高并发模拟测试,以验证服务在高负载情况下的可用性与稳定性。

前提条件

已完成联调验收

压测计划

警告
发送的压测请求必须携带请求头X-Stress-Tag:1,以便与正常请求区分;否则可能被当作真实请求处理,影响线上业务的稳定性。

自定义变量

压测接口自定义变量
先下载模板,按照模板上传csv文件来自定义压测接口的变量,文件大小不超过10M,如上传文件超过10M,请参考大文件操作。
参数文件说明
    每行即为一个参数,参数体需要为json转义(建议转义且压缩);
    每个json的key数量至少2个,如果只有一个,可随意新增一个spi接口未定义的参数;
    文件示例格式如下:
Params
{\"order_id\":1,\"account_id\":123456}
{\"order_id\":2,\"account_id\":123456}
{\"order_id\":3,\"test\":2}
{\"order_id\":4,\"account_id\":123456}
{\"order_id\":5,\"account_id\":123456}
{\"order_id\":6,\"account_id\":123456}
    需填写完测试账户client_key、对接能力、压测接口后才可上传文件,如保存前用户已上传了文件,再次修改上述必填字段后,需要重新上传文件;
    如已上传1个文件,要上传新的文件,必须删除原文件后再进行上传;
大文件操作
超过10M文件的操作步骤:
    重新创建一个小于10M的demo文件,保留原文件的第一条数据(必须是第一条),上传后完成调试步骤;
    联系抖音技术支持TS,将原始的大文件发送给TS进行文件上传;
    抖音技术支持处理完成后,用户申请压测时间。
注意
如抖音技术支持处理完成后,用户再次上传了文件,则原始大文件会被覆盖掉,需要重新联系抖音技术支持进行原始大文件上传。

新建计划

功能入口
点击右上角【创建压测计划】按钮。
表单字段填写
压测基本信息:
字段名
是否必填
字段描述
计划名称
不可重复(按照应用信息+商户ID在提交时验重),最长100字符
对接能力与接口
如团购三方码、日历票、团购套票、团购在线预约等
压测场景
固定为首次对接,开发者首次对接,有准入QPS的限制,可配置的最大QPS是50-300
压测接口自定义变量
详见本文的“自定义变量”章节
QPS配置:每秒向服务端打多少请求,例如10QPS表示1s发送10个请求
字段名
是否必填
字段描述
最大QPS
最小为准入QPS,最大为准入QPS的3倍
起始QPS
最小为1,最大为“最大QPS”的一半
每阶段增加QPS
最小为1,最少增加3次梯度
每阶段持续时间
最小为30,最大与“总持续时间”一致
总持续时间
最大限制根据压测模板的配置获取,最小限制300秒。
说明
计算逻辑:(最大QPS-起始QPS)/每阶段增加QPS*每阶段持续时长+每阶段持续时长,可点击【获取最小时长】后进行修改配置
接口超时时间
最大限制30000、最小为0
操作栏按钮的作用
    保存并下一步:当前输入的所有字段内容保存后进入调试页面;
    取消:当前输入的字段内容不做保存。

计划列表

列表信息
    列表每页展示10条数据,按照创建时间倒序来排序
    列表支持以下字段的搜索:计划名称、计划ID、对接能力、压测接口、计划状态
操作按钮
操作栏显示的按钮根据计划状态的不同进行展示:
状态
支持的操作按钮
待调试
查看、调试、编辑、删除
待申请
查看、申请、编辑、删除
审核中
查看
待执行
查看、执行、编辑、删除
执行中
查看
已执行
查看、执行、编辑、删除
已终止
查看、执行、编辑、删除
计划状态的含义
状态
含义
待调试
计划内容的必填项已完成填写,但未完成调试
待申请
计划内容的必填项已完成填写,调试通过,或调试通过后申请压测审核拒绝
审核中
计划内容的必填项已完成填写,调试通过,发起了压测申请,审批流未完结
审核失败
计划内容的必填项已完成填写,调试通过,发起了压测申请,审批拒绝,点击有浮窗提示拒绝原因
待执行
计划已完成填写并完成调试,审核通过但未执行过
执行中(n次)
计划正在执行,n次表示执行次数(启动执行操作时次数+1),点击可跳转到计划对应的压测任务列表
已执行(n次)
计划已完成执行,n次表示执行次数(启动执行操作时次数+1),点击可跳转到计划对应的压测任务列表
已终止(n次)
计划最后一次执行结果为用户手动终止状态,n次表示执行次数(启动执行操作时次数+1),点击可跳转到计划对应的压测任务列表

接口调试

功能入口
接口调试共有两个入口:
    压测计划列表页的操作栏点击调试,跳转至压测计划的调试页;
    创建压测计划或编辑压测计划页,点击【保存并下一步】进入调试页。
操作
点击【发起调试】,如调试失败,则按照页面报错提示进行相应操作,如调试成功,点击完成即可。
注意
点击【发起调试】,抖音侧会读取压测文件中的第一条数据,重复请求两次,需要做去重逻辑。

执行计划

发起申请
    入口:列表页的操作栏;
    发起时可选压测时间:最多展示未来14天的固定工作日周一到周四时间 23:00~隔天的7:00可选,当天00:00之前最早可选第二天的23:00~隔天的7:00,每2小时为一个隔断(23:00-01:00、01:00-03:00、03:00-05:00、05:00-07:00),如开始时间选择23点后,默认结束时间为01:00,用户选完日期后点选具体的时间段;
    调试通过后方可发起压测申请;
    审核结果
    审核通过:压测时间期间及压测结束后48小时内,测试账户ck不可用于功能测试,回调流量会被识别为压测流量,如压测申请为明天01:00-03:00,审核通过后,该测试ck从明天01:00至 明天03:00点+48小时内,都不可用于功能测试;
    审核拒绝:如审核拒绝,则在列表页状态栏的 审核失败 问号hover中展示 审核拒绝原因,用户可自行查看拒绝原因。
执行压测计划
    提交的压测审批通过且在压测申请的时间范围内,手动点击列表页操作栏的【执行】进行压测;
    每执行一次压测计划,则生成一条压测任务。

修改计划

    入口:点击列表页操作栏的【编辑】按钮进入编辑详情页;
    可修改字段:压测接口自定义变量、QPS配置的相关字段(最大QPS、起始QPS、每阶段增加QPS、每阶段持续时间、总持续时间、接口超时时间)。

删除计划

点击压测计划列表操作栏中点击「删除」按钮,可删除该计划。

压测任务

任务列表

列表信息
    列表每页展示10条数据,按照执行时间倒序来排序;
    列表支持以下字段的搜索:计划名称、计划ID、对接能力、压测接口、执行状态。
列表操作
    查看报告:支持在执行过程中随时查看结果;
    终止执行:仅在执行中的报告支持终止。

查看报告

功能入口
点击压测任务右侧操作栏中「查看报告」按钮,可跳转到报告详情页。
展示&刷新逻辑
执行完毕计划展示完整结果,执行中计划每10S刷新一次结果。
报告内容
包含“成功 / 失败QPS曲线”、“接口响应耗时P75、P90、P99、P999曲线”、”接口明细及失败时的错误信息“。
任务成功的判断标准
    接口请求的成功率大于99.95(接口返回error_code=0);
    PCT99耗时<=计划配置的超时时长。

终止任务

    入口展示时机:仅执行中任务,在压测任务列表右侧操作栏中展示【终止】按钮;
    点击终止按钮可终止执行该计划。

常见错误码含义信息

错误码
错误信息
排查建议
0
成功
——
4000400
网关侧参数校验未通过
抖音侧调用异常
    排查spi元数据是否已注册
    排查ClientKey是否合法
4000401
服务商返回参数类型不合法
开发者调用异常,排查开发者响应体中error_code, description类型是否正确
4001400
未配置三方接口路径
开发者配置异常,开发者应用未配置SPI回调地址
4000405
构建HTTP请求体错误
网关异常,构造HTTP请求异常
4000406
服务商返回内容不合法
网关异常,解析HTTP响应异常
499999
错误码范围异常
见业务错误码
4000404
未找到三方接口路径
HTTP调用异常:状态码404
4000502
网关侧未知异常
HTTP调用异常:HTTP非超时错误,可能包括https证书错误,开发者网关错误等
4000503
三方返回内容空
开发者调用异常
4000504
调用三方服务超时
HTTP调用超时
4000505
下游HTTP码非200&404
HTTP调用异常:HTTP返回码不是200,不是404,常见返回码包括400,401,403,405,429,500,502,503,505,请联系开发者排查
4000505与4000502的区别:
    4000502:httpClient.Do(req)返回非timeout err
    4000505:httpClient.Do(req)成功返回,HTTP状态码不合法
4000510
未找到ck对应secret
抖音侧调用异常,排查ClientKey是否合法,如使用sandbox账号,排查sandbox账号是否绑定真实应用
4001601
SPI触发限流
抖音侧调用异常,排查action + 应用是否被频控