华为云用户手册

  • 创建测试计划 测试计划是指基于已定义的JMeter文件和依赖的Jar包和变量文件发起一次性能测试的活动。 登录PerfTest控制台,在左侧导航栏中选择“JMeter测试工程”,单击待操作工程后的。 在“测试计划”页签中,单击“添加测试计划”。 在弹出的窗口中单击“添加文件”,选择格式为*.jmx的文件,单击“上传文件”,导入成功后将自动关闭窗口并返回“测试计划列表”页签,可以看到已添加的测试计划。 jmx文件大小限制为10M。 当前支持基本的JMeter脚本,包括线程组,HTTP请求,HTTP信息头管理器,请求参数,超时时间,BeanShellt等。建议您使用5.2.1以上版本的脚本进行导入,以免出现脚本解析错误。 在“测试计划”页签中,单击“第三方Jar包”,在弹出的窗口中单击“本地导入”,选择测试计划所依赖的JAR包并导入,导入成功后将自动“关闭”窗口并返回“计划详情”页签。 图1 导入JAR包 JAR包大小限制为10M。 在“测试计划”页签中,可以查看新添加的测试计划。
  • 常规用例类型 当“用例类型”为“常规用例”时,测试报告说明如表1所示。 本测试报告展现了测试过程中被测系统在模拟高并发用户的响应性能,为了更好阅读测试报告,请参考以下信息: 统计维度:本报告的TPS、RPS、响应时间、并发等统计维度均为单个用例,如用例中有请求多个报文,只有在多个请求报文均正常返回会认为成功,响应时间也是多个请求报文的求和值。 响应超时:出现该情况下是在设置的响应超时时间内(默认5s),对应的TCP连接中没有响应数据返回,会将本次用例请求统计为响应超时。出现原因一般是被测服务器繁忙、崩溃、网络带宽被占满等。 校验失败:从服务器返回的响应报文不符合预期(针对HTTP/HTTPS默认的预期响应码为200),比如服务器返回404、502等。出现原因一般为高并发情况下被测服务无法正常处理导致的,如分布式系统中数据库出现瓶颈、后端应用返回错误等。 解析失败:响应报文已全部接收完成,但是部分报文丢失导致整个用例响应不完整,这种情况一般需要考虑网络丢包。 带宽统计:本报告统计的是性能测试服务执行端的带宽,上行表示从性能测试服务发出的流量,下行表示接收到的流量。如果是外网压测场景,您需要关注执行机的EIP带宽是否可以满足上行带宽的要求。而下行带宽需要关注单台执行机是否超过1GB。 TPS:TPS是指PerfTest在统计周期内每秒从被测服务器获取到的响应用例实时统计,TPS=统计周期内的正常返回数/统计周期。 RPS:RPS是指PerfTest在统计周期内每秒发送到被测服务器的请求数实时统计,RPS=统计周期内发送的请求数/统计周期。 如何判断被测应用优劣:根据应用本身的服务质量定义,理想状态是没有任何响应失败、校验失败的情况,如果有,需要在服务质量定义范围之内,通常情况下不超过1%,同时响应时间越低越好(2s内体验较好,5s内可以接受,超过5s则需要考虑优化),TP90、TP99指标可以客观反映出90%、99%用户的体验响应时间。 表1 常规用例测试报告说明 参数 参数说明 各项指标总量 所有用例各项指标总量的汇总。 最大并发:最大并发操作的虚拟用户数。 RPS:是指PerfTest在统计周期内平均每秒发送到被测服务器的请求数统计。 响应时间:指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间。 响应码:记录压测任务进行中响应码分布的情况。 带宽:记录压测任务运行所消耗的实时带宽变化。 SLA事件:SLA中定义的事件发生情况。 正常返回:如设置了检查点,检查点通过的用例响应数,如未设置默认为返回2XX的用例响应数。 带宽:记录压测任务运行所消耗的实时带宽变化。 异常返回:解析失败、校验失败、响应超时、3XX、4XX、5XX、连接被拒绝的用例响应数。 RPS 是指PerfTest在统计周期内每秒发送到被测服务器的请求数实时统计,RPS=统计周期内发送的请求数/统计周期。 平均响应时间 某一秒发出的所有请求的平均响应时间。 并发数 记录压测任务运行时,当前并发操作的虚拟用户数的变化。 带宽(KB/S) 记录压测任务运行所消耗的实时带宽变化。 上行带宽:从PerfTest测试执行机往外发送出去数据的速度。 下行带宽:PerfTest测试执行机接收到数据的速度。 响应状态分布 正常返回、解析失败、校验失败、响应超时的每秒处理用例数,该项指标与思考时间、并发用户、服务器响应能力均有关,比如思考时间为500ms,如果服务器对于当前用户的上个请求响应时间小于500ms,则该用户每秒请求2次。 正常返回:如设置了检查点,检查点通过的用例响应数,如未设置默认为返回2XX的用例响应数。 异常返回:解析失败、校验失败、响应超时、3XX、4XX、5XX、连接被拒绝的用例响应数。 解析失败:HTTP响应无法被正常解析的数量。 校验失败:如设置了检查点,检查点未通过的用例响应数,如未设置,返回不是2XX的用例响应数。 响应超时:在请求报文发送5S内未收到服务器响应的用例请求数量。 连接被拒绝:发送报文建立连接时,服务器拒绝连接数。 其他错误:不属于以上几种错误的数量。 响应码 1XX/2XX/3XX/4XX/5XX。 响应时间区间比例 用例的响应时间区间比例。 TP最大响应时间 指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取对应的百分比的那个值作为TPXX的最大响应时间。 TP50:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第50%的那个值作为TP50的值。 TP75:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第75%的那个值作为TP75的值。 TP90:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第90%的那个值作为TP90的值。 TP95:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第95%的那个值作为TP95的值。 TP99:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99%的那个值作为TP99的值。 TP99.9:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99.9%的那个值作为TP99.9的值。 TP99.99:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99.99%的那个值作为TP99.99的值。
  • 修改导出的工程文件 表1 请求类型为思考时间 参数名称 描述 name 思考时间的名称,可修改。 t 持续时间(ms)。 思考时间是指用户在执行两个连续操作期间的等待时间。例如用户在登录和搜索之间停留的时间。 例如某事务每运行一次响应时间为 0.5 秒。 如果希望每秒执行两次事务请求:则不添加请求信息类型为“思考时间”的事务请求信息。 如果希望每秒只执行一次事务请求:思考时间调整为 1 秒。如果思考时间设置为 1 秒而响应时间大于 1 秒,则思考时间不会生效,按响应时间发送压测请求。 表2 请求类型为报文 参数名称 描述 name 报文的名称,可修改。 http_version 协议类型。 支持HTTP、HTTPS、TCP和UDP。 当请求类型为HTTP和HTTPS时,设置以下参数。 method 支持GET、POST、PATCH、PUT和DELETE。 return_timeout 发送请求,等待服务器响应的超时时间。 如果不设置此参数,默认响应超时时间为5000ms。 URL 发送请求的URL地址,比如“http://域名/路径”,也可以包含参数的部分“http://域名/路径?key1=value1&key2=value2”。 headers 由关键字/值对组成,请求头部通知服务器有关于客户端请求的信息,“头域”的说明请参见头域说明。 报文内容 实体的主体部分包含一个由任意数据组成的数据块,并不是所有的报文都包含实体的主体部分。 如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 说明: 请求方式为GET时,不支持报文内容。 当请求类型为TCP时,设置以下参数。 说明: TCP类型的报文暂不支持响应提取功能。 IP 发送请求到被测服务器的IP地址。 port 发送请求到被测服务器的端口号。 connect_timeout 发起连接,服务器无响应的超时时间。 return_timeout 连接建立成功,等待响应返回的超时时间。 连接设置 重复使用连接:请求响应完成后,不断开连接,复用连接发送接收下一次请求响应。 关闭连接:每次完成请求响应完成后,断开连接,下一次重新建立连接。 check_end_type 通过返回结束设置,来判断本次请求的响应内容是否已经接收完成。 返回数据长度:设置返回数据的长度,单位字节。当接收到此长度的响应内容时,数据接收完成。 结束符:设置返回数据的结束标记。当接收到结束符时,数据接收完成 。 说明: 结束符建议设置一个唯一的结束标记,如果设置的结束符在响应内容中存在多个,当接收到第一个结束符时,就认为响应内容已经接收完成,这样接收的响应数据就不完整。 body 实体的主体部分包含一个由任意数据组成的数据块,并不是所有的报文都包含实体的主体部分。 内容格式:请根据被测服务器的业务请求内容,选择“字符串”或“16进制码流”。 说明: 16进制码流的内容取值范围为“0~9”和“a~f”,且总字符个数为双数。 如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 表3 请求类型为响应提取 参数名称 描述 name 变量的名称,命名必须唯一,响应提取的值赋予此变量。 range 响应提取内容的范围。 报文内容 头域 URL 响应码 其中“报文内容”、“头域”、“URL”可通过正则表达式进行内容提取。 regexp 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 完整的正则表达式由两种字符构成:特殊字符(special characters)称为“元字符”(meta characters);其它为“文字”(literal),或者是普通文本字符(normal text characters,如字母、数字、汉字、下划线)。元字符的说明请参见正则表达式元字符。 说明: “()”表示提取,对于您要提取的内容需要用小括号括起来,每个“()”之间的内容表示一个子表达式。 match_index 在正则表达式已提取的内容中,获取第几个匹配的内容。 取值范围:正整数。 说明: 该参数值不可设置为0。 exp_index 表示解析到的第几个子表达式的值。 取值范围:自然数。 说明: 取值为0表示匹配整个正则表达式。 取值为1表示匹配正则表达式的第一个子表达式即第一个“()”提取的内容。 通过“正则表达式”和“第几个匹配项”提取出内容后,再通过“表达式取值”获得最终的提取内容。 JSON Key Name 请输入需要获取的键名。 例:{key:{"key1":"v1","key2":["v2","v3"]}},如果想取出“v2”,则输入key.key2[0] default 正则匹配失败时,取的值。 表4 请求类型为检查点 参数名称 描述 name 检查点的名称,可修改。 value 响应报文携带的HTTP/HTTPS/TCP/UDP协议响应状态码,通常包括1XX,2XX,3XX,4XX,5XX。具体含义详见各协议规范。 header_checks HTTP/HTTPS/TCP/UDP协议的Header部分,具体可以支持的Header详见各协议规范。 body_checks HTTP/HTTPS/TCP/UDP协议的Body部分,为HTTP/HTTPS/TCP/UDP协议请求、响应的负载部分。 表5 新增测试工程 参数名称 描述 name 测试工程的名称。 description 测试工程的相关描述。 表6 新增事务 参数名称 描述 name 事务名称。 contents 请求信息内容。 在该事务下可以添加事务请求信息,您可以根据业务需求添加多个事务请求信息。 表7 新增任务 参数名称 描述 issue_num 并发用户。 并发用户数指在同一时刻内,对系统进行业务操作的用户数量,在PerfTest中为用户在定义测试任务阶段设置的虚拟用户数。 name 阶段名称。 设置一个符合业务场景的名字,比如首页测试。 time 持续时间(s)。 本阶段压测执行的最长时间。 count 发送总次数。 该事务在一次任务的运行中,将按照运行次数计算,到达设定数值,该任务下此事务的性能测试将终止。 表8 新增全局变量 参数名称 描述 name 全局变量的名称 variable 全局变量值,支持整数和枚举。 variable_type 说明: 变量的内容,在压测时将以明文传输,请谨慎输入,注意数据安全。 全局变量类型。 变量类型为整数时,输入变量值范围。 压测任务运行时会读取对应全局变量范围内的值,针对每个虚拟用户,依次轮询变量值,即第一个虚拟用户取变量的第一个值,第二个虚拟用户取第二个值,依顺序取值,不够则循环。 您可以根据业务需求添加多个变量值。 压测任务运行时会读取对应全局变量的参数值,针对每个虚拟用户,依次轮询变量值,即第一个虚拟用户取变量的第一个值,第二个虚拟用户取第二个值,依顺序取值,不够则循环。 父主题: 参考知识
  • 操作步骤 登录PerfTest控制台,在左侧导航栏选择“总览”,进入“总览”页面。 单击“购买服务套餐包”,进入“购买性能测试套餐”页面。 设置以下信息。 表1 PerfTest套餐参数说明 参数 说明 服务版本 根据需求选择专业版或者铂金版。两者的区别请参见服务版本及介绍。 区域 选择“区域”。 不同的区域之间套餐包不互通,每个区域需分别购买。 企业项目 该参数针对企业用户使用。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。 计费模式 “专业版”只支持“按需套餐包”。 “铂金版”支持“按需套餐包”和“包周期套餐包”。 峰值并发 执行压测任务支持的最大并发用户数。 VUM额度 仅在“计费模式”为“按需套餐包”时涉及。 VUM是PerfTest的计费单位,VUM = VU(虚拟并发用户数)* M(分钟)。 专业版默认为“1万”。铂金版默认为“100万”。 有效期 仅在“计费模式”为“按需套餐包”时涉及。 默认为“一年”。 套餐包到期后,未使用的VUM会被清零。 包周期时长 仅在“计费模式”为“包周期套餐包”时涉及。 选择需要包周期的时长。 单击“立即购买”,进入订单确认页面。 确认订单无误后,单击“去支付”,支付订单。
  • 测试报告说明 JMeter测试报告提供实时、离线两种类型的测试报告,供用户随时查看和分析测试数据。 JMeter测试报告说明如表1所示。 本测试报告展现了测试过程中被测系统在模拟高并发用户的响应性能,为了更好阅读测试报告,请参考以下信息: 统计维度:本报告的TPS、RPS、响应时间、并发等统计维度均为单个线程组,如线程组中有请求多个报文,只有在多个请求报文均正常返回会认为成功,响应时间也是多个请求报文的求和值。 响应超时:出现该情况下是在设置的响应超时时间内(Jmx自定义),对应的TCP连接中没有响应数据返回,会将本次线程组请求统计为响应超时。出现原因一般是被测服务器繁忙、崩溃、网络带宽被占满等。 校验失败:从服务器返回的响应报文不符合预期(针对HTTP/HTTPS默认的预期响应码为200),比如服务器返回404、502等。出现原因一般为高并发情况下被测服务无法正常处理导致的,如分布式系统中数据库出现瓶颈、后端应用返回错误等。 带宽统计:本报告统计的是性能测试服务执行端的带宽,上行表示从性能测试服务发出的流量,下行表示接收到的流量。如果是外网压测场景,您需要关注执行机的EIP带宽是否可以满足上行带宽的要求。而下行带宽需要关注单台执行机是否超过1GB。 TPS:TPS是指PerfTest在统计周期内每秒从被测服务器获取到的响应用例实时统计,TPS=统计周期内的正常返回数/统计周期。 RPS:RPS是指PerfTest在统计周期内每秒发送到被测服务器的请求数实时统计,RPS=统计周期内发送的请求数/统计周期。 如何判断被测应用优劣:根据应用本身的服务质量定义,理想状态是没有任何响应失败、校验失败的情况,如果有,需要在服务质量定义范围之内,通常情况下不超过1%,同时响应时间越低越好(2s内体验较好,5s内可以接受,超过5s则需要考虑优化),TP90、TP99指标可以客观反映出90%、99%用户的体验响应时间。 表1 JMeter测试报告说明 概念 解释 各项指标总量 所有线程组各项指标总量的汇总。 最大并发:最大并发操作的虚拟用户数。 RPS:RPS=请求总数/响应总时长。 正常返回:如设置了检查点,检查点通过的事务响应数,如未设置默认为返回2XX的事务响应数。 响应时间:指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间。 响应码:记录压测任务进行中响应码分布的情况。 带宽:记录压测任务运行所消耗的实时带宽变化。 异常返回:解析失败、校验失败、响应超时、3XX、4XX、5XX、连接被拒绝的事务响应数。 带宽:记录压测任务运行所消耗的实时带宽变化。 SLA事件:SLA中定义的事件发生情况。 RPS 是指PerfTest在统计周期内每秒发送到被测服务器的请求数实时统计,RPS=统计周期内发送的请求数/统计周期。 平均响应时间 记录压测任务平均响应时间的变化。 并发数 记录压测任务运行时,当前并发操作的虚拟用户数的变化。 带宽(KB/S) 记录压测任务运行所消耗的实时带宽变化。 上行带宽:从JMeter测试执行机往外发送出去数据的速度。 下行带宽:JMeter测试执行机接收到数据的速度。 响应状态分布 正常返回、解析失败、校验失败、响应超时的每秒处理事务数,该项指标与思考时间、并发用户、服务器响应能力均有关,比如思考时间为500ms,如果服务器对于当前用户的上个请求响应时间小于500ms,则该用户每秒请求2次。 正常返回:如设置了检查点,检查点通过的事务响应数,如未设置默认为返回2XX的事务响应数。 解析失败:HTTP响应无法被正常解析的数量。 校验失败:如设置了检查点,检查点未通过的事务响应数,如未设置,返回不是2XX的事务响应数。 响应超时:是在设置的响应超时时间内,对应的TCP连接中没有响应数据返回的用例请求数量。 连接被拒绝:发送报文建立连接时,服务器拒绝连接数。 其他错误:不属于以上几种错误的数量。 响应码分布 1XX/2XX/3XX/4XX/5XX。 响应时间区间比例 用例的响应时间区间比例。 TP最大响应时间 指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取对应的百分比的那个值作为TPXX的最大响应时间。 TP50:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第50%的那个值作为TP50的值。 TP75:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第75%的那个值作为TP75的值。 TP90:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第90%的那个值作为TP90的值。 TP95:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第95%的那个值作为TP95的值。 TP99:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99%的那个值作为TP99的值。 TP99.9:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99.9%的那个值作为TP99.9的值。 TP99.99:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99.99%的那个值作为TP99.99的值。
  • 添加分析对象 登录PerfTest控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待添加分析对象的PerfTest测试工程所在行,单击编辑测试工程。 在“智能分析”页签中,单击“添加分析对象”。 分析对象可以为应用组和节点。 图1 添加分析对象 配置完成后,单击“确定”。 您还可以编辑和删除分析对象。 编辑分析对象:在“智能分析”页签中,单击待修改分析对象后的“编辑”,根据系统提示执行编辑操作。 如果分析对象已被测试任务关联,编辑分析对象参数后,测试任务中关联分析对象的参数也会相应改变。 删除分析对象:在“智能分析”页签中,单击待删除分析对象后的“删除”。选中多个分析对象,单击“批量删除”,可一次性删除多个分析对象。 删除分析对象时,如果分析对象已被测试任务使用,则不可删除。
  • 操作步骤 登录PerfTest控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击。 在“测试任务”页签中,选择待编辑的测试任务,单击“任务名称”进入“用例步骤”页签。 在“用例步骤”页签中,选择待添加请求信息的用例,单击“添加请求”。 在“响应提取”页签,参照表1设置基本信息。 图1 响应提取 表1 响应提取参数 参数 参数说明 启用响应提取 启用响应提取后,如果同一用例中存在多个报文,通过正则表达式把前一个报文的输出提取出来,作后一个报文的输入。 变量名称 变量的名称,命名必须唯一,响应提取的值赋予此变量。 预期值 预期响应提取出的变量值。 开启后,会将响应提取到的值与预期值进行比对,如果不等则链接失败。 提取内容范围 响应提取内容的范围。 其中,“报文内容”、“头域”和“URL”可通过正则表达式进行内容提取。 正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 完整的正则表达式由两种字符构成:特殊字符(special characters)称为“元字符”(meta characters);其它为“文字”(literal),或者是普通文本字符(normal text characters,如字母、数字、汉字、下划线)。元字符的说明请参见正则表达式元字符。 说明: “()”表示提取,对于您要提取的内容需要用小括号括起来,每个“()”之间的内容表示一个子表达式。 第几个匹配项 在正则表达式已提取的内容中,获取第几个匹配的内容。 取值范围:正整数。 说明: 该参数值不可设置为0。 表达式取值 表示解析到的第几个子表达式的值。 取值范围:自然数。 说明: 取值为0:匹配整个正则表达式。 取值为1:匹配正则表达式的第一个子表达式即第一个“()”提取的内容。 通过“正则表达式”和“第几个匹配项”提取出内容后,再通过“表达式取值”获得最终的提取内容。 需获取的键名 输入需要获取的键名。 例:{"key":{"key1":"v1","key2":{"key3":"v3"},"key4":[{"key41":"v41","key42":"v42"},{"key41":"v43","key42":"v44"}]}},如果想取出"v42",则输入:key.key4[0].key42。 说明: 仅在提取内容范围是json内的值时生效。 缺省值 正则匹配或JSON提取失败时,取的值。 条件表达式 与“需获取的键名”配套使用。 例如:{"key":{"key1":"v1","key2":{"key3":"v3"},"key4":[{"key41":"v41","key42":"v42"},{"key41":"v43","key42":"v44"}]}},如果需要表达:当key42=v42时,提取目标值v41;则在“条件表达式”框里输入:key.key4[].key42 = v42,在"需获取的键名"框里输入:key.key4[].key41。 表2 常用正则表达式介绍 正则表达式 说明 示例 (\d+) 匹配非负整数 字符串: bTivm2wu9jih1LBKR4osZGrjjl 匹配结果: 2914 ([A-Za-z]+) 匹配由26个英文字母组成的字符串 字符串: bTivm2wu9jih1LBKR4osZGrjjl 匹配结果: bTivmwujihLBKRosZGrjjl ([A-Za-z0-9]+) 匹配由数字和26个英文字母组成的字符串 字符串: bTivm2wu9jih1LBKR4osZGrjjl:asdasd22 匹配结果: bTivm2wu9jih1LBKR4osZGrjjlasdasd22 (\w+) 匹配由数字、26个英文字母或者下划线组成的字符串 字符串: bTivm2wu9jih1LBKR4osZGrjjl:asdasd22 匹配结果: bTivm2wu9jih1LBKR4osZGrjjlasdasd22 ([\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+) 匹配email地址 字符串: bTivm2wu9jih1LBKR4osZGrjjl:abc@abc.com 匹配结果: abc@abc.com (可选)一个请求信息可包含1个或多个变量,如果您的请求信息需要添加多个变量,请单击“添加变量”,再设置变量的相关参数。 配置完成后,单击“确定”。
  • 正则表达式响应提取示例 示例一 例如,前一个报文响应的报文内容如下图所示: 图2 报文内容 如果想要获取token值的,可通过正则表达式"token"\s*:\s*"(.*?)"提取,响应提取的设置如图3所示。 图3 提取token值 示例二 例如,前一个报文响应的报文内容为: javawind:9javawind:12 javawind:16javawind:17 javawind:46javawind:22 如果想要提取数值16,响应提取的设置如图4所示。 图4 响应提取示例 通过正则表达式javawind:(.*)javawind:(.*),提取数据如下: 9 1216 1746 22 通过第2个匹配项,提取数据如下: 16 17 通过第1个表达式,提取数据如下: 16 示例三 例如,报文内容为:ababdacac 如果响应提取设置如下图: 正则表达式(ab|ac)+,表示由多个ab或者ac匹配。 第几个匹配项:1,表示由ab匹配到的,也可以输入2,表示由ac匹配到的。使用1可以得到abab及子串ab,使用2可以得到acac及子串ac。 表达式取值:0,表示使用最大匹配串abab或者acac,1表示使用子串ab或者ac。 示例四 例如,被提取内容为:HTTP响应头的Content-Type 正则表达式Content-Type: (.*)\r\n,注意冒号后面有一个空格,结尾有\r\n,是HTTP规范产生的 第几个匹配项:1,因为只有一个(.*)。 表达式取值:1,取到希望得到的值。
  • 导入录制的脚本 登录PerfTest控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击编辑事务库。 使用以下任意一种方式导入录制的脚本。 方法一:在“事务库”页签中,单击“导入脚本”。脚本类型选择“手动录制脚本”。选择需要导入的事务和脚本录制文件。 录制脚本的内容为一个或多个报文请求信息,可以导入到对应的事务模型中。 方法二:在待导入脚本事务名称右侧单击“导入录制脚本”,选择要上传的脚本文件。 单击“导入”,提示“脚本录制文件导入成功”表示脚本导入成功。 在事务下,查看到导入成功的报文。 导入成功的报文个数和上传的脚本文件中请求个数一致。 (可选)您可以根据业务需要,单击,参照添加请求信息(思考时间)修改已导入的脚本。
  • 录制脚本 使用PerfTest录制工具录制脚本。 图3 录制脚本 打开Chrome浏览器,单击浏览器右上角的PerfTest录制工具图标,弹出录制框。 单击“开始录制”。 在浏览器新标签页,输入待要压测的URL进行访问操作,录制工具会自动记录访问操作过程中的HTTP请求。 录制完成后,请切换到录制工具页签,单击“暂停录制”。 录制工具默认显示所有类型的请求。可根据业务需求,单击“筛选内容”复选框选择需求展示的请求类型。 other:其他 script:脚本 xmlhttprequest:XMLHttp请求 main_frame:主框架 stylesheet:样式表 image:图像 font:字体文件 ping:Ping测试 选中某个请求,可在页面右侧详情展示该请求的内容。 图4 选择请求 如果录制的内容不是您需要的或需要录制新的请求,执行以下步骤重新录制。 单击“清空内容”清空原先录制的请求内容。 单击“开始录制”。 在浏览器待录制的页签中进行操作,重新录制。 单击“导出”,复选框选择需要导出的请求,单击“确认导出”,弹出“导出内容”对话框。单击“生成json文件”,保存文件到本地。 图5 生成json文件 插件录制的脚本,body体类型暂不支持payload格式。 关闭录制工具所在的页签,即可关闭录制工具。
  • 调试用例 新增或修改用例后,可通过调试快速发现语法或配置错误,确保该模型在任务中可用。 登录PerfTest控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击“”。 在“测试任务”页签中,单击“任务名称”,进入任务详情页面。 单击页面左侧待调试用例后的。 在弹出的对话框中单击“启动调试”,选择资源组后单击“调试”。 共享资源组:无需创建即可使用,最大支持10000并发和100Mb带宽,支持外网地址压测。 私有资源组:本机创建的私有资源组。 在“调试日志”页签,查看调试的操作日志。 调试完成后,在“结果”页签,查看测试用例调试的具体内容。 如果调试结果报错,可根据错误日志信息,修改用例后重新添加。
  • 下载并安装Chrome录制插件 下载Chrome录制工具插件:下载链接。 使用版本为73及以上的Chrome浏览器安装第三方扩展程序时可能会出现程序包无效:“CRX_HEADER_INVALID”错误,如下图所示, 图1 “CRX_HEADER_INVALID”错误 此时请进行以下操作: 右击下载链接将插件安装包另存。 使用解压工具对安装包进行解压。 打开浏览器的扩展程序,开启开发者模式,单击“加载已解压的扩展程序”,加载2中解压得到的文件夹,即可完成安装。 URL框内输入chrome://extensions/,进入扩展程序安装页面。 图2 扩展程序 将下载文件拖动至Chrome浏览器窗口,浏览器弹出确认新增扩展程序框,单击“添加扩展程序”安装。 安装插件时,需要打开开发者模式。打开开发者模式后,建议重新打开Chrome浏览器。 安装完成后浏览器右上角会出现PerfTest录制工具图标。
  • 创建私有资源组 登录PerfTest控制台,在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 (可选)首次使用时,请根据提示信息,授权PerfTest创建私有资源组。 进入创建资源组页面后,如果是首次使用没有云容器引擎服务CCE集群,需要先执行4创建集群然后再创建资源组。如果已有可用的云容器引擎服务CCE集群,直接执行5创建资源组。 创建集群。 单击页面上方的“创建集群”,进入购买CCE集群页面。创建集群操作请参考购买CCE集群,设置集群参数。 集群管理规模选择与执行节点个数相关,例如,需要20个执行节点,那么集群调试节点规模选择50节点即可满足业务需求。 CCE集群的网络模型建议选择“容器隧道网络”,容器网段和服务网段需要与被测对象保持一致。 单击“下一步:插件配置”,默认选择即可。 单击“下一步:规格确认”,确认集群配置信息无误后,勾选已阅读使用说明,单击“提交”等待集群创建,集群创建预计需要6-10分钟。 集群创建成功后,返回集群管理页面,单击要创建节点的集群所在行的,进入创建节点页面。创建节点操作请参考创建节点,设置节点参数。 节点规格至少为vCPU为4核,内存8GB。 操作系统需选择欧拉EulerOS。 创建的节点数量至少需要2台(1台调试节点、1台执行节点),具体数量由压测对象要求规格决定。例如,压测10万并发用户数,vCPU为4核,内存8GB的资源需要21个执行节点(1个调试节点,20个执行节点)。 当CCE集群节点与被测应用不在同一VPC网络时,建议CCE集群节点绑定弹性IP。可使用已有的弹性IP,如果没有弹性IP也可以选择自动创建,选中后将根据您的配置创建弹性IP,并自动为每个节点进行分配。当创建的弹性IP数量小于节点个数时,会将弹性IP随机绑定到节点上。 单击“下一步:规格确认”,确认节点配置信息无误后,勾选已阅读使用说明,单击“提交”等待节点创建。 节点创建成功后,返回PerfTest控制台。 创建资源组。 在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 参照表1设置基本信息。 表1 创建私有资源组 参数 参数说明 资源组名称 新建私有资源组的名称,可自定义。 节点集群 在下拉框选择已创建的CCE集群。 调试节点 执行压测的调试机。 调试节点在资源组创建成功后不可修改。 执行节点 执行压测的执行机,即在压测过程中能够提供自身性能数据的施压目标机器。 单击“创建”。 父主题: 测试资源管理
  • 添加分析对象 登录PerfTest控制台,在左侧导航栏中选择“JMeter测试工程”。 在测试工程列表中,单击待编辑测试工程后的。 在“智能分析”页签下,单击“添加分析对象”。 分析对象可以为应用组和节点。 配置完成后,单击“确定”。 您还可以编辑和删除分析对象。 编辑分析对象:在“智能分析”页签中,单击待修改分析对象后的“编辑”,根据系统提示执行编辑操作。 如果分析对象已被测试任务关联,编辑分析对象参数后,测试计划中关联分析对象的参数也会相应改变。 删除分析对象:在“智能分析”页签下,单击待删除分析对象后的“删除”。选中多个分析对象,单击“批量删除”,可一次性删除多个分析对象。 删除分析对象时,如果分析对象已被测试计划使用,则不可删除。
  • 新增集群 在创建私有资源组时,会选择一个节点集群。如果业务需要多个集群或者不同区域的集群共同运行压测任务,可以新增集群并配置压力占比将压测任务动态分配到不同集群上。 登录PerfTest控制台,在左侧导航栏中选择“测试资源”。 在资源组列表中,单击待操作的资源组中的“资源调整”。 新增集群。 在“资源调整”对话框中,单击“新增集群”,参照表1设置基本信息,单击“确定”完成创建。 表1 新增集群 参数 参数说明 区域 在下拉框中选择已创建的CCE节点集群所在区域,可与当前PerfTest所在区域不一致。 节点集群 在下拉框选择已创建的CCE节点集群。 执行节点 勾选执行压测的执行机,即在压测过程中能够提供自身性能数据的施压目标机器。 说明: 如新增集群所在区域与当前PerfTest区域不一致,即使用跨区域节点,那么该节点要有访问公网权限,可以通过绑定弹性IP或者使用NAT转换等方式获得访问公网权限。 该步骤可重复执行,新增多个集群。 配置压力占比。 新增集群后,在“资源调整”对话框中可以查看到当前私有资源组所有的节点集群,可动态调整不同集群的压力占比数据。 (可选)删除节点集群。 在“资源调整”对话框中可以查看到当前私有资源组所有的节点集群,单击待删除节点集群后的“删除”,根据系统提示执行删除操作。
  • 自定义JMeter安装包 如需切换JMeter的版本,可以自定义安装JMeter安装包来满足业务需求。 登录PerfTest控制台,在左侧导航栏中选择“测试资源”。 按照业务需求,下载对应版本的JMeter安装包。 在资源组列表中,单击待操作的资源组中的“自定义JMeter安装包”,选择待安装的JMeter安装包,等待页面提示安装成功。 当前支持tgz、tar.gz、zip格式的文件,版本号在5.2.1及以上且小于100M的JMeter安装包,并确保该安装包本地可执行。 (可选)删除JMeter安装包。 如提示文件上传失败,或需要重新上传JMeter安装包。可单击安装包后的,删除当前JMeter安装包。
  • 扩缩容节点集群 登录PerfTest控制台,在左侧导航栏中选择“测试资源”。 在资源组列表中,单击待操作的资源组中的“资源调整”。 扩缩容节点集群。 扩容资源组:在“资源调整”对话框中,单击待修改资源组后的“扩缩容”,在“选择执行节点”对话框中,勾选当前已存在的执行节点+需要扩容的执行节点,单击“选择”。 减容资源组:在“资源调整”对话框中,单击待修改资源组后的“扩缩容”,在“选择执行节点”对话框中,勾选需要保留的执行节点,单击“选择”。
  • 操作步骤 登录PerfTest控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击编辑测试任务。 在“测试任务”页签中,单击“全局变量”。 通过手工输入方式添加整型和枚举型全局变量。 单击“添加变量”。 参照表1设置参数。 表1 设置全局变量 参数 参数说明 变量名称 新增全局变量的名称。 变量类型 新增变量类型,支持整数和枚举两种类型。 变量值 压测任务运行时会读取对应全局变量的参数值,针对每个虚拟用户,依次轮询变量值,即第一个虚拟用户取变量的第一个值,第二个虚拟用户取第二个值,依顺序取值,不够则循环。 说明: 变量的内容,在压测时将以明文传输,请谨慎输入,注意数据安全。 变量类型为整数时,输入变量值范围。 变量类型为枚举时,单击,输入变量值。 变量读取模式 顺序模式:顺序读取变量。 随机模式:随机读取变量。 变量共享模式 用例模式:每个并发共享一个变量。 并发模式:每个并发单独复制一个同名变量进行使用,不同并发按顺序读取变量值,互不影响。 选择不同的变量读取模式和变量共享模式时变量读取规则可参考变量读取规则。 设置完成后,单击保存。 变量创建完成后您还可以执行如下操作: 单击“编辑”进行修改。如果该全局变量已被事务所引用,变量修改后,事务中的全局变量值会同步修改。 单击“删除”,删除添加的全局变量文件。 全局变量文件被引用时,不可删除。
  • 查看私有资源组信息 登录PerfTest控制台,在左侧导航栏中选择“测试资源”。 在资源组列表中,可查看到如下表所示资源组信息。 表2 资源组信息详细说明 信息名称 信息说明 私有资源组名称 创建私有资源组时输入的名称。 私有资源组状态 部署中 运行中 需升级 异常 执行器数 占用执行器数/执行器总数。 单执行器支持并发:HTTP/HTTPS(5000),WebSocket(5000),JMeter(1000),HLS(1500),RTMP(1000),HTTP-FLV(1000)。 当前并发 当前私有资源组内所有节点集群当前并发相加的和。 调试节点 创建私有资源组时选择的调试节点。 执行节点 资源组内所有节点集群的执行节点。单击“更多”,可以查看到该资源组全部执行节点。 创建时间 私有资源组创建的时间。 修改时间 私有资源组最后一次修改的时间。
  • 操作步骤 登录PerfTest控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击编辑测试任务。 在“测试任务”页签中,单击“全局变量”。 您可以通过文件变量导入添加全局变量。 单击“csv模板下载”或者“xlsx模板下载”获取所需的变量文件模板,按照模板填写相应的变量和值。 csv/xlsx格式文件模板第一行表头填写的是变量名,从第二行开始填写的是对应变量的值。 其中,每份文件大小、上传的文件个数上限与当前的套餐相对应,请参考PerfTest价格计算器查看详情。 单击“文件变量导入”,导入格式为csv或xlsx的文件。 变量名称:导入的文件名称。 变量类型:文件。 变量值:实际的变量名称,多个变量名称之间用“,”分隔。 变量读取模式: 顺序模式:顺序读取变量。 随机模式:随机读取变量。 变量共享模式 用例模式:每个并发共享一个变量。 并发模式:每个并发单独复制一个同名变量进行使用,不同并发按顺序读取变量值,互不影响。 全局变量导入成功后,您还可以执行如下操作: 单击“编辑”可以设置变量的读取顺序和变量共享模式。 选择不同的变量读取模式和变量共享模式时变量读取规则可参考变量读取规则。 单击“下载”,将全局变量文件下载到本地。 单击“删除”,删除导入的全局变量文件。 全局变量文件被引用时,不可删除。 已导入的全局变量文件,如果本地做了修改,可单击“重新上传”进行重新上传。
  • 使用模板创建测试工程 登录PerfTest控制台,在左侧导航栏中选择“总览”,进入总览页。 PerfTest定义了如下模板: 选择一码通场景,一码通测试工程即创建成功。测试工程创建成功后,任务已按模板创建成功。 选择流媒体场景,流媒体测试工程即创建成功。测试工程创建成功后,任务已按模板创建成功。 选择秒杀场景,秒杀测试工程即创建成功。测试工程创建成功后,任务已按模板创建成功。 选择电商场景,电商测试工程即创建成功。测试工程创建成功后,任务已按模板创建成功。 选择极速创建场景,极速创建测试工程即创建成功。测试工程创建成功后,任务已按模板创建成功。 可根据实际业务需求修改测试任务,详细操作请参见管理测试任务。
  • 服务版本及介绍 PerfTest区分专业版和铂金版,两者功能主要区别如表1。 表1 专业版和铂金版特性区别 特性 专业版 铂金版 文件变量 支持,单个文件变量最大10M,最多5个 支持,单文件变量最大80M,最多100个,可申请调整配额 测试事务数量(串联链路或API) 最大50个 可申请调整配额 最大并发数 5千 100万 APM 报告集成,性能TOP瓶颈智能推荐 支持,最多添加关联5个监控对象 支持,关联监控对象数量与测试任务数配额一致 更详细介绍请参考PerfTest价格计算器查看。
  • 操作步骤 登录PerfTest控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击。 在“测试任务”页签中,选择待编辑的测试任务,单击“任务名称”进入“用例步骤”页签。 在“用例步骤”页签中,选择待添加请求信息的用例,单击“添加请求”。 在“思考时间”页签,参照表1设置基本信息。 表1 思考时间参数 参数 参数说明 启用思考时间 启用思考时间后,当您接收到来自服务器的数据时,可能要等待几秒查看数据,然后再做出响应。 持续时间(ms) 思考时间是指用户在执行两个连续操作期间的等待时间。如用户在登录和搜索之间停留的时间。 例如,某用例每运行一次响应时间为 0.5 秒。 如果希望每秒执行两次用例请求,则不添加请求信息类型为“思考时间”的用例请求信息。 如果希望每秒只执行一次用例请求,思考时间调整为1秒。如果思考时间设置为1秒而响应时间大于1秒,则思考时间不会生效,按响应时间发送压测请求。 说明: 支持变量输入,对于变量输入有以下限制: “变量类型”为“枚举”。 只能有一个值,且为数字的字符串。 该数字的范围由使用该变量的输入框范围限制决定。 配置完成后,单击“确定”。
  • 报文如何填写 报文通俗的解释就是用户在网站界面上的所有单击操作。每个单击操作通过编辑成满足协议规范带有用户请求内容格式的码流传送给不同的第三方,最后得到一个正确或者失败响应的一个过程。 可以通过在操作时按“F12”,或抓包工具(例如wireshark)查看报文是怎么请求的,然后根据实际业务在压测的报文中填写。 例如,模拟登录请求的POST方法,对应的请求连接、请求方法、头域、报文内容如下图所示。 图1 模拟登录请求的POST方法
  • 操作步骤 登录PerfTest控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击。 在“测试任务”页签中,选择待编辑的测试任务,单击“任务名称”进入“用例步骤”页签。 在“用例步骤”页签中,选择待添加请求信息的用例,单击“添加请求” 在“报文”页签,参照表1设置基本信息。 表1 报文参数 参数 参数说明 协议类型 请根据业务的协议类型选择,当前支持HTTP/HTTPS/TCP/UDP/HLS/RTMP/WEBSOCKET/HTTP-FLV。 当协议类型为HTTP和HTTPS时,设置以下参数。 请求方式 GET/POST/PATCH/PUT/DELETE 请求地址 发送请求的URL地址,比如“http://域名/路径”,也可以包含参数的部分“http://域名/路径?key1=value1&key2=value2”。 支持变量输入,详情请参见插入变量。 响应超时(ms) 发送请求,等待服务器响应的超时时间。 如果不设置此参数,默认响应超时时间为5000ms。 支持变量输入,详情请参见插入变量。 说明: 变量输入有以下限制: “变量类型”为“枚举”。 只能有一个值,且为数字的字符串。 该数字的范围为20ms到60s。 携带cookie 说明: 用例下至少已有一个请求信息,添加新的请求信息时进行设置。 自动获取:使用响应设置的cookie。 手动设置:只使用当前请求信息设置在头域中的cookie。 请求参数 请求地址中的参数设置。 单击“添加请求参数”,设置“名称”和“值”,如果您不需要添加请求参数,可以单击“删除”,删除请求参数。 请求头 请根据压测服务器需要校验或者使用的头域来添加相关头域及内容。PerfTest服务没有对必填头域作要求,仅透传用户定义的头域到压测服务器。“头域”的说明请参见头域说明。 单击“添加头域”,设置“头域”和“值”,如果您不需要添加头域信息,单击“删除”,删除报文头域。 单击“批量编辑”,可以切换成文本框编辑模式同时对多个头域进行编辑;单击“键值编辑”,可返回“键值对”编辑模式。 说明: “请求方式”为“POST”或“PUT”,且“头域”为“Content-Type”时,“值”有三种类型,且支持插入变量: 自定义:直接在输入框中输入值。 application/x-www-form-urlencoded:请求体为可添加的键值对形式,值为文本。 multipart/form-data:请求体为可添加的键值对形式,值可为文本或文件。值为文件时,支持body体导入。 Body体 实体的主体部分包含一个由任意数据组成的数据块,并不是所有的报文都包含实体的主体部分。 如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 在报文内容输入框内输入“$”。 在“插入变量”对话框中,配置参数。详情请参见插入变量。 单击“选择”。 说明: 请求方式为GET时,不支持报文内容。 当协议类型为TCP时,设置以下参数。 IP 发送请求到被测服务器的IP地址。 端口号 发送请求到被测服务器的端口号。 连接超时 发起连接,服务器无响应的超时时间。 返回超时 连接建立成功,等待响应返回的超时时间。 连接设置 重复使用连接:请求响应完成后,不断开连接,复用连接发送接收下一次请求响应。 关闭连接:每次完成请求响应完成后,断开连接,下一次重新建立连接。 返回结束设置 通过返回结束设置,来判断本次请求的响应内容是否已经接收完成。 返回数据长度:设置返回数据的长度,单位字节。当接收到此长度的响应内容时,数据接收完成。 结束符:设置返回数据的结束标记。当接收到结束符时,数据接收完成 。 说明: 结束符建议设置一个唯一的结束标记,如果设置的结束符在响应内容中存在多个,当接收到第一个结束符时,就认为响应内容已经接收完成,这样接收的响应数据就不完整。 内容格式 请根据被测服务器的业务请求内容,选择“字符串”或“16进制码流”。 说明: 16进制码流的内容取值范围为“0~9”和“a~f”,且总字符个数为双数。 如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 在报文内容输入框内输入“$”。 在“插入变量”对话框中,配置参数。详情请参见插入变量。 单击“选择”。 当协议类型为UDP时,设置以下参数。 IP 发送请求到被测服务器的IP地址。 端口号 发送请求到被测服务器的端口号。 返回结束设置 通过返回结束设置,来判断本次请求的响应内容是否已经接收完成。 返回数据长度:设置返回数据的长度,单位字节。当接收到此长度的响应内容时,数据接收完成。 结束符:设置返回数据的结束标记。当接收到结束符时,数据接收完成 。 说明: 结束符建议设置一个唯一的结束标记,如果设置的结束符在响应内容中存在多个,当接收到第一个结束符时,就认为响应内容已经接收完成,这样接收的响应数据就不完整。 内容格式 请根据被测服务器的业务请求内容,选择“字符串”或“16进制码流”。 说明: 16进制码流的内容取值范围为“0~9”和“a~f”,且总字符个数为双数。 如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 在报文内容输入框内输入“$”。 在“插入变量”对话框中,配置参数。详情请参见插入变量。 单击“选择”。 当协议类型为HLS时,设置以下参数。 流媒体地址 视频源的地址,比如“http://域名/路径”。 播放时长(秒) 模拟播放的时长。 说明: 用例调试时,播放时长会设置为3秒。 直播缓冲等待请求时间间隔(毫秒) 直播场景下,视频播放源无新数据时候,尝试获取新数据的时间间隔。 直播缓冲等待请求的最大次数 直播场景下,视频播放源无新数据时候,尝试获取新数据的最大次数,如果超过最大次数,则判断为失败。 当协议类型为RTMP且“请求方式”为“推流”时,设置以下参数。 流媒体服务器地址 被测流媒体服务器的IP地址。 端口号 被测流媒体服务器监听的端口号,RTMP协议默认为1935。 应用名称 即推流URL中的AppName,直播流媒体文件存放路径,例如:live。 流名称 即推流URL中的StreamName,用来唯一标识一条直播流,例如:livestream。 推流时长(秒) 模拟主播推流的时长,单位:秒。 视频源地址 用来存放模拟直播推流的视频源文件的OBS地址。目前仅支持flv文件格式,且不支持H.265编码的非标准flv文件。 当协议类型为RTMP且“请求方式”为“拉流”时,设置以下参数。 流媒体服务器地址 被测流媒体服务器的IP地址。 端口号 被测流媒体服务器监听的端口号,RTMP协议默认为1935。 应用名称 即拉流URL中的AppName,直播流媒体文件存放路径,例如:live。 流名称 即拉流URL中的StreamName,用来唯一标识一条直播流,例如:livestream。 播放时长(秒) 模拟观众观看直播的时长,单位:秒。 当协议类型为WEBSOCKET时,设置以下参数。 WEBSOCKET方法类型 Connect:与压测网站建立WebSocket连接。 DisConnect:关闭与压测网站的连接。 Pong:向压测网站发送pong。 Ping&Pong:向压测网站发送pong期望返回ping。 Request:向压测网站发送请求并接收响应。 ReadOnly:仅接收压测网站发送的信息。 WriteOnly:仅向压测网站发送信息。 请求连接地址 WebSocket连接的URL地址,比如“ws://域名/路径”,支持加密请求,即“wss://域名/路径”。 连接超时(ms) 发起连接,服务器无响应的超时时间。 说明: 仅当“方法类型”为“Connect”时,需要设置该参数。 状态码 自定义关闭连接对应的状态码。默认值为1000,输入范围为0~4999。 说明: 仅当“方法类型”为“DisConnect”时,需要设置该参数。 请求类型 请根据被测服务器的业务请求内容,下拉选择“Text”或“Binary”。 说明: 仅当“方法类型”为“Request/WriteOnly”时,需要设置该参数。 请求内容 根据请求类型中设定格式输入请求信息报文内容。 说明: 仅当“方法类型”为“Request/WriteOnly”时,需要设置该参数。 响应类型 请根据被测服务器的业务响应内容,下拉选择“Text”或“Binary”。 说明: 仅当“方法类型”为“Request/ReadOnly”时,需要设置该参数。 响应超时(ms) 连接建立成功,等待响应返回的超时时间。 请求头 请根据压测服务器需要校验或者使用的头域来添加相关头域及内容。PerfTest服务没有对必填头域作要求,仅透传用户定义的头域到压测服务器。“头域”的说明请参见头域说明。 单击“添加头域”,设置“头域”和“值”,如果您不需要添加头域信息,单击“删除”,删除报文头域。 单击“批量编辑”,可以切换成文本框编辑模式同时对多个头域进行编辑;单击“键值编辑”,可返回“键值对”编辑模式。 当协议类型为HTTP-FLV时,设置以下参数。 流媒体地址 视频源的地址,比如“ws://域名/路径”。 播放时长 模拟播放的时长。 说明: 用例调试时,播放时长会设置为3秒。 配置完成后,单击“保存”。
  • 变量读取规则 无论是手工输入方式还是文件变量导入的方式添加变量,选择不同的变量读取模式和变量共享模式时变量读取规则如下表1。 表1 变量读取规则 变量读取模式 变量共享模式 概述 举例 顺序模式 用例模式 每个并发按顺序读取一个变量值。 例如,10并发压力模式下的任务,在执行过程中,不同并发按照顺序读取变量中的值。 顺序模式 并发模式 每个并发单独复制一个同名变量进行使用,不同并发按顺序读取变量值,相互不影响。 例如,10并发压力模式下的任务,在执行过程中,每个并发均从复制的变量中,按照顺序往下读取相应的变量值。 随机模式 用例模式 每个并发随机读取一个变量值。 例如,10并发压力模式下的任务,在执行过程中,不同的并发随机获取变量中的值。 随机模式 并发模式 每个并发单独复制一个同名变量进行使用,不同并发随机读取变量值,相互不影响。 例如,10并发压力模式下的任务,在执行过程中,每个并发均从复制的变量中,随机读取相应的变量值。 假设变量number有三个变量值分别为1、 2、 3, 存在两个并发A和B。 两个并发在顺序模式下: 用例模式:A并发读取变量number的1,B并发接着读取变量number的2,一直按顺序循环读取。 并发模式:A并发读取一个复制的变量number(副本),从头开始读起,读取1。B并发读取一个复制的变量number(副本),从头开始读起,也读取1。 两个并发在随机模式下: 读取变量值的方式与顺序模式一致,但因为是每次都是随机的,所以用例模式和并发模式的使用效果一样。 父主题: 设置全局变量
  • 插入变量 添加请求信息时,在输入框内输入“$”,支持插入变量。 图1 插入变量 “变量类型”为“自定义变量”时,需要设置如下参数: 变量名称:自定义变量名称。 变量范围:选择变量范围。 “变量类型”为“系统变量”时,需要选择函数名称: 身份证号:随机生成一个身份证号。 手机号:随机生成一个手机号。 区间随机数:根据用户输入区间,随机生成区间内的任一整数。 随机字符串:根据用户输入的位数(1-32),随机生成小写字母和数字混合的字符串。 时间戳:根据用户选择(秒(s)/毫秒(ms)),生成执行时当前时间戳(秒(s)对应10位,毫秒(ms)对应13位)。 UUID:随机生成一个不带“-”的32个16进制的字符。 父主题: 设置全局变量
  • 禁/启用事务请求信息 如果事务的某一个请求信息想要留存但不想被使用,可以使用禁用事务请求信息功能。如果想要恢复该请求信息的使用,可以再对其进行启用。 登录PerfTest控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击“编辑事务库”。 禁用事务请求信息。 在“事务库”页签中,在页面左侧选择待禁用请求信息的事务,单击待禁用的事务请求信息后的,对该请求信息进行禁用,不影响其他请求信息。 启用事务请求信息。 在“事务库”页签中,在页面左侧选择待启用请求信息的事务,单击待启用的事务请求信息后的,对该请求信息恢复启用,不影响其他请求信息。
  • 操作步骤 登录华为云,在右上角单击“控制台”。 在“控制台”页面,鼠标移动至右上方的用户名,在下拉列表中选择“我的凭证”。 在“我的凭证”页面,“API凭证”页签中查看 IAM 用户名、IAM用户ID、帐号名、帐号ID、项目ID等信息。 如果项目列表未显示待查看的区域、项目,请单击左上角“控制台”并切换至待查看区域后,重新进入我的凭证。 如果您是企业联邦用户,属于虚拟IAM用户,“API凭证”页面将不显示“IAM用户名”、“IAM用户ID”信息。
  • 设置全局变量 全局变量用于构造数据集合,使测试数据更加丰富。在报文事务请求信息的报文内容中引用全局变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 全局变量适用于很多场景,例如需要用户名密码的业务,需要使用不同的用户名以及对应密码模拟多用户场景进行压测。 整型和枚举型全局变量添加 csv格式或者xlsx格式全局变量文件添加 变量读取规则 插入变量 父主题: PerfTest测试任务管理
共100000条