使用PTS参数化模拟多用户注册或登录

若您需要压测的业务中包括用户登录、注册的场景,可以借助PTS提供的文件参数功能,模拟不同用户的登录、注册的压测场景。本文介绍如何使用文件参数构造动态变化的URL来对用户注册或登录接口发起压测。

前提条件

  • 开通PTS服务

  • 准备一个CSV格式的参数文件,格式如下。关于参数文件的更多要求,请参见参数文件规范

    username,password
    user1,Password1
    user2,Password2
    user3,Password3
    

方案概览

若您在压测时需要模拟多用户注册或登录的场景,可以通过在压测场景中导入包含用户名和密码的参数文件,构造压测API时关联导入的参数来实现。

关于登录场景的PTS支持能力的信息,请参见使用Cookie模拟登录场景

本文分两个场景为您介绍如何使用参数化模拟多用户注册或登录。

场景一:模拟多用户注册

  1. 登录PTS控制台,选择性能测试 > 创建场景,然后单击PTS压测

  2. 添加参数文件到数据源

    1. 单击数据源管理,并在文件数据源页签中单击+ 上传文件,选择本地参数文件并上传。

    2. 选中首行作为参数名,选中后无需手动定义参数名,PTS读取参数文件时将跳过首行的数据。如果参数文件第一行不是参数名,则必须根据业务场景定义每列数据的参数名。image

  3. 添加数据配置节点

    1. 场景配置页签中添加压测API,然后单击添加指令右侧的下拉箭头,选择数据配置

    2. 数据源参数设置页签下,选择设置好的参数名。

      说明
      • 选中数据轮询一次能够保证在使用数据文件组装请求时,每行只用到一次,避免重复使用。当数据轮询一次用尽,不论设置的压测量级是多少,该压测场景将停止生成新的压测请求。

      • 若不选中数据轮询一次,导入的参数会在压测中循环使用。

      • 数据轮询一次基准列均只能指定一个参数,设置轮询一次之后基准列无法设置。

      image

  4. API参数配置

    • 压测URL:输入您的待压URL,本示例使用http://web.example.com/register

    • 请求方式:选择POST

    • Body定义Content-Type类型选择x-www-form-urlencoded,然后单击编辑区域右上角的文本编辑,在文本编辑框中输入{"username":"${username}","password":"${password}"}image

    (可选)实际场景中往往需要更复杂的配置,更多信息请参见:HTTP节点参数指令

  5. 压力模式配置

    • 压力来源:选择公网,如果您在阿里云内网环境,可选择阿里云VPC内网

    • 压力模式:选择虚拟用户模式。以虚拟用户模式发起压测,更适合客户端发起的场景,而RPS模式是站在服务端的视角,衡量系统吞吐量。

    • 递增模式:选择手动调速

    • 最大虚拟用户数:虚拟用户模式下,需要填写最大虚拟用户数,例如10。

    • 压测总时长:例如1分钟。

    其他可保留默认值。

    说明

    发起压测涉及费用问题,建议您合理选择施压量级,如需了解更多信息,请参见计费概述压力模式与量级配置

  6. (可选)您可在高级设置中配置域名绑定,使用域名绑定可在多次压测时快速切换压测地址。

  7. 调试并启动压测

    1. 调试场景可验证配置是否合理,避免压测失败,建议您先调试场景。

    2. 单击保存去压测,在温馨提示页面,选择立即执行并勾选确认本次压测已获得准许并遵守当地法律,然后单击启动压测

场景二:模拟多用户登录

使用参数化模拟多用户登录配置与用户注册配置相同,您只需调整API配置信息。示例如下:

压测URL:输入您的待压URL,本示例使用http://web.example.com/login

请求方式:选择POST

Body定义Content-Type类型选择x-www-form-urlencoded,然后单击编辑区域右上角的文本编辑,在文本编辑框中输入{"username":"${username}","password":"${password}"}

image

分析压测结果

压测结束后,系统会自动获取压测过程中的数据,例如压测场景指标、业务详情数据、监控详情数据和API采样日志等,生成压测报告,您可在压测报告页面查看。更多信息,请参见查看PTS压测报告image