编程语言
首页 > 编程语言> > 玩转小程序压测

玩转小程序压测

作者:互联网

简介:小程序是移动互联网时代非常重要的流量入口。为了避免因系统性能瓶颈导致用户在使用过程中出现白屏、异常报错等问题影响用户体验,小程序在新功能上线前需要做好压力测试,评估出系统的承载能力,并以压测结果配置限流。让系统面对流量突增,也能稳如泰山。

作者:拂衣

小程序也是需要压测的

小程序是移动互联网时代非常重要的流量入口。为了避免因系统性能瓶颈导致用户在使用过程中出现白屏、异常报错等问题影响用户体验,小程序在新功能上线前需要做好压力测试,评估出系统的承载能力,并以压测结果配置限流。让系统面对流量突增,也能稳如泰山。

常见的小程序中需要做压测的 3 种场景

小程序的压测方案如何设计

根据压测场景不同,压测方案可简单可分为:单接口压测、混合压测、性能调优压测、长稳压测等。请根据需要选择不同的方案。

使用 PTS 对小程序进行压测的最佳实践

不同于自建网站压测,针对小程序压测时,通常需要获得小程序所在的平台(如支付宝、微信)的 Token 信息,并在有效期内使用才能正常压测小程序业务接口。
推荐您通过以下两种方式获取平台授权的 Token:

方式一:编写接口获取 Token

假设需要压测微信平台上小程序的活动页面。您可以编写接口去获取微信的 Token 信息,将该接口编排进压测场景中,并提取出参,传递给后面实际的业务接口。
具体操作步骤如下:

1. 在本地编写接口,以便能够在压测过程中持续地获取微信的 Token 信息。

2. 登录 PTS 控制台[1],在左侧导航栏选择创建场景 > 创建 PTS 场景

3. 填写场景名,例如“myAPP”。

4. 在场景配置页签下,单击压测 API 名称一栏右侧的箭头展开更多详细设置,填写第一个压测 API,即自定义的获取微信 Token 的接口。

5. 选择出参定义页签,配置示例如下:

6. 单击+添加压测 API,填写第二个 API,即小程序活动页面接口,请求方式选择为 POST。小程序活动页面接口即小程序的 URL。

7. 单击创建 PTS 场景页面下方的参数列表,在弹出的对话框中单击出参名的复制图标,复制该出参参数。

8. 假设需要在 API 的 Body 中传入已复制的出参 access_token,单击 API 的 Body 定义页签。在 Key 中填写自定义的名称(例如 input_token),在 Value 中粘贴已复制的出参参数。

9. 单击施压配置页签,根据实际需要,填写压测并发数和时长等信息,示例如下图所示。

说明

10. 单击创建 PTS 场景页面左下方的保存去压测,即可发起压测。

方式二:手动记录 Token 并写入业务接口

假设需要压测微信平台上小程序的活动页面。那么,您可以在压测前提前批量获取到平台 Token,或者在本地准备些数据(如果业务允许),放在数据文件中,压测时作为全局参数使用。

注意 一般平台 Token 都存在有效期限制,需要定期刷新才能使用。所以采用该方法请注意确认 Token 有效期,超过该期限后,压测就无法正常进行。

具体操作步骤如下:

1.新建一个 .csv 文件(用 Excel 编辑之后另存为 .csv 格式,或者用 Apache 的 commons-csv 来生成),将 Token 信息写在一列中,示例如下:

说明

您可以通过线上环境批量获取平台 Token,或者如果业务允许的情况下可在本地构造 Token 数据。

2. 登录 PTS 控制台[1],在左侧导航栏单击创建场景 > 创建 PTS 场景

3. 在创建 PTS 场景页面,填写场景名,例如“myAPP”。

4. 在场景配置页签下,填写小程序活动页面接口。

5. 单击创建 PTS 场景页面下方的数据源管理,单击+上传文件,上传本地准备的 .csv 文件。上传完毕后,填写参数名,并单击确定

6. 单击+添加压测 API 右侧的下拉箭头,选择添加数据配置

单击数据配置一栏右侧的箭头图标展开更多详细设置,在文件参数设置页签中选择参数名。单击复制图标,复制该参数。

8. 假设需要在 API 的 Body 中传入已复制参数,单击活动页面 API 的 Body 定义页签。在 Key 中填写自定义的名称(例如 token),在 Value 中粘贴已复制的出参参数。

9. 单击施压配置页签,根据实际需要,填写压测并发数和时长等信息,示例如下图所示。

10. 单击创建 PTS 场景页面左下方的保存去压测,即可发起压测。

使用 PTS 做小程序压测的优势

原文链接

本文为阿里云原创内容,未经允许不得转载。

标签:场景,单击,压测,程序,接口,Token,玩转,PTS
来源: https://www.cnblogs.com/yunqishequ/p/16205970.html