云服务器内容精选

  • 报文如何填写 报文通俗的解释就是用户在网站界面上的所有单击操作。每个单击操作通过编辑成满足协议规范带有用户请求内容格式的码流传送给不同的第三方,最后得到一个正确或者失败响应的一个过程。 可以通过在操作时按“F12”,或抓包工具(例如wireshark)查看报文是怎么请求的,然后根据实际业务在压测的报文中填写。 例如,模拟登录请求的POST方法,对应的请求连接、请求方法、头域、报文内容如下图所示。 图1 模拟登录请求的POST方法
  • 操作步骤 登录性能测试服务控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击工程名称进入测试工程详情页面。 选择“测试用例”页签,在左侧“用例列表”下选择待添加请求信息的用例。 在“用例步骤”页签中,选择待添加请求信息的用例,单击“添加请求”。 在“报文”页签,请根据业务的协议类型选择匹配的协议类型,当前支持HTTP/HTTPS/TCP/UDP/HLS/RTMP/WEBSOCKET/HTTP-FLV/MQTT。请参照以下对应的报文参数表设置基本信息。 表1 HTTP和HTTPS协议报文参数 参数 参数说明 请求方法 可以选择GET、POST、PATCH、PUT或DELETE。 请求地址 发送请求的URL地址,比如“http:// 域名 /路径”,也可以包含参数的部分“http://域名/路径?key1=value1&key2=value2”。 支持变量输入,详情请参见插入变量。 响应超时(ms) 发送请求,等待服务器响应的超时时间。响应超时时间范围是20ms到5分钟。 如果不设置此参数,默认响应超时时间为5000ms。 携带cookie 说明: 用例下至少已有一个请求信息,添加新的请求信息时进行设置。 自动获取:使用响应设置的cookie。 手动设置:只使用当前请求信息设置在头域中的cookie。 自动重定向 选择是否跳转到重定向的地址,开关默认打开,即默认自动跳转到重定向的地址。 请求参数 请求地址中的参数设置。 单击“添加请求参数”,设置“名称”和“值”。选择是否勾选“Url Encode”,默认为不勾选,勾选后对请求参数的值做URL编码。 如果您不需要添加请求参数,可以单击“删除”,删除请求参数。 请求头 请根据压测服务器需要校验或者使用的头域来添加相关头域及内容。性能测试服务没有对必填头域作要求,仅透传用户定义的头域到压测服务器。“头域”的说明请参见头域说明。 单击“添加头域”,设置“头域”和“值”,如果您不需要添加头域信息,单击“删除”,删除报文头域。 单击“批量编辑”,可以切换成文本框编辑模式同时对多个头域进行编辑;单击“键值编辑”,可返回“键值对”编辑模式。 说明: “请求方法”为“POST”或“PUT”,且“头域”为“Content-Type”时,“值”有三种类型,且支持插入变量: 自定义:直接在输入框中输入值。 application/x-www-form-urlencoded:请求体为可添加的键值对形式,值为文本。 multipart/form-data:请求体为可添加的键值对形式,值可为文本或文件。值为文件时,支持body体导入。 Body体 实体的主体部分包含一个由任意数据组成的数据块,并不是所有的报文都包含实体的主体部分。 如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 在请求内容输入框内输入“$”。 在“插入变量”对话框中,配置参数。详情请参见插入变量。 单击“选择”。 表2 TCP协议报文参数 参数 参数说明 IP 发送请求到被测服务器的IP地址。 端口号 发送请求到被测服务器的端口号。 连接超时 发起连接,服务器无响应的超时时间。连接超时时间范围是20ms到60s。 返回超时 连接建立成功,等待响应返回的超时时间。返回超时时间范围是20ms到60s。 连接设置 重复使用连接:请求响应完成后,不断开连接,复用连接发送接收下一次请求响应。 关闭连接:每次完成请求响应完成后,断开连接,下一次重新建立连接。 返回结束设置 通过返回结束设置,来判断本次请求的响应内容是否已经接收完成。 返回数据长度:设置返回数据的长度,单位字节。当接收到此长度的响应内容时,数据接收完成。 结束符:设置返回数据的结束标记。当接收到结束符时,数据接收完成 。 说明: 结束符建议设置一个唯一的结束标记,如果设置的结束符在响应内容中存在多个,当接收到第一个结束符时,就认为响应内容已经接收完成,这样接收的响应数据就不完整。 内容格式 请根据被测服务器的业务请求内容,选择“字符串”或“16进制码流”。 说明: 16进制码流的内容取值范围为“0~9”和“a~f”,且总字符个数为双数。 如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 在请求内容输入框内输入“$”。 在“插入变量”对话框中,配置参数。详情请参见插入变量。 单击“选择”。 表3 UDP协议报文参数 参数 参数说明 IP 发送请求到被测服务器的IP地址。 端口号 发送请求到被测服务器的端口号。 返回结束设置 通过返回结束设置,来判断本次请求的响应内容是否已经接收完成。 返回数据长度:设置返回数据的长度,单位字节。当接收到此长度的响应内容时,数据接收完成。 结束符:设置返回数据的结束标记。当接收到结束符时,数据接收完成 。 说明: 结束符建议设置一个唯一的结束标记,如果设置的结束符在响应内容中存在多个,当接收到第一个结束符时,就认为响应内容已经接收完成,这样接收的响应数据就不完整。 内容格式 请根据被测服务器的业务请求内容,选择“字符串”或“16进制码流”。 说明: 16进制码流的内容取值范围为“0~9”和“a~f”,且总字符个数为双数。 如果已设置全局变量或响应提取的局部变量,可在报文内容部分引用变量,执行压测任务过程会将报文内容中的变量值动态替换为指定的值。 在请求内容输入框内输入“$”。 在“插入变量”对话框中,配置参数。详情请参见插入变量。 单击“选择”。 表4 HLS协议报文参数 参数 参数说明 流媒体地址 视频源的地址,比如“http://域名/路径”。 播放时长(秒) 模拟播放的时长。 说明: 用例调试时,播放时长会设置为3秒。 直播缓冲等待请求时间间隔(毫秒) 直播场景下,视频播放源无新数据时候,尝试获取新数据的时间间隔。 直播缓冲等待请求的最大次数 直播场景下,视频播放源无新数据时候,尝试获取新数据的最大次数,如果超过最大次数,则判断为失败。 表5 RTMP协议报文参数 参数 参数说明 请求方式 推流:将现场的视频信号传到网络的过程。 拉流:服务器里面有流媒体视频文件,用指定地址进行拉取的过程。 请求方式为“推流”时设置以下参数。 流媒体服务器地址 被测流媒体服务器的IP地址。 端口号 被测流媒体服务器监听的端口号,RTMP协议默认为1935。 应用名称 即推流URL中的AppName,直播流媒体文件存放路径,例如:live。 流名称 即推流URL中的StreamName,用来唯一标识一条直播流,例如:livestream。 推流时长(秒) 模拟主播推流的时长,单位:秒。 视频源地址 用来存放模拟直播推流的视频源文件的OBS地址。目前仅支持flv文件格式,且不支持H.265编码的非标准flv文件。 请求方式为“拉流”时设置以下参数。 流媒体服务器地址 被测流媒体服务器的IP地址。 端口号 被测流媒体服务器监听的端口号,RTMP协议默认为1935。 应用名称 即拉流URL中的AppName,直播流媒体文件存放路径,例如:live。 流名称 即拉流URL中的StreamName,用来唯一标识一条直播流,例如:livestream。 播放时长(秒) 模拟观众观看直播的时长,单位:秒。 表6 WEBSOCKET协议报文参数 参数 参数说明 请求方法 Connect:与压测网站建立WebSocket连接。 DisConnect:关闭与压测网站的连接。 Pong:向压测网站发送pong。 Ping&Pong:向压测网站发送pong期望返回ping。 Request:向压测网站发送请求并接收响应。 ReadOnly:仅接收压测网站发送的信息。 WriteOnly:仅向压测网站发送信息。 请求连接地址 WebSocket连接的URL地址,比如“ws://域名/路径”,支持加密请求,即“wss://域名/路径”。 连接超时(ms) 发起连接,服务器无响应的超时时间。连接超时时间范围是20ms到60s。 说明: 仅当“请求方法”为“Connect”时,需要设置该参数。 状态码 自定义关闭连接对应的状态码。默认值为1000,输入范围为0~4999。 说明: 仅当“请求方法”为“DisConnect”时,需要设置该参数。 请求类型 请根据被测服务器的业务请求内容,下拉选择“Text”或“Binary”。 说明: Binary表示十六进制。 仅当“请求方法”为“Request/WriteOnly”时,需要设置该参数。 请求内容 根据请求类型中设定格式输入请求信息报文内容。 说明: 仅当“请求方法”为“Request/WriteOnly”时,需要设置该参数。 当请求内容为文本类型时,支持变量输入,详情请参见插入变量。 响应类型 请根据被测服务器的业务响应内容,下拉选择“Text”或“Binary”。 说明: Binary表示十六进制。 仅当“请求方法”为“Request/ReadOnly”时,需要设置该参数。 响应超时(ms) 连接建立成功,等待响应返回的超时时间。返回超时时间范围是20ms到60s。 请求头 请根据压测服务器需要校验或者使用的头域来添加相关头域及内容。性能测试服务没有对必填头域作要求,仅透传用户定义的头域到压测服务器。“头域”的说明请参见头域说明。 单击“添加头域”,设置“头域”和“值”,如果您不需要添加头域信息,单击“删除”,删除报文头域。 单击“批量编辑”,可以切换成文本框编辑模式同时对多个头域进行编辑;单击“键值编辑”,可返回“键值对”编辑模式。 表7 HTTP-FLV协议报文参数 参数 参数说明 流媒体地址 视频源的地址,比如“http://{视频源ip}:8080/live/stream.flv”。 播放时长 模拟播放的时长。 说明: 用例调试时,播放时长会设置为3秒。 表8 MQTT协议报文参数 参数 参数说明 请求方法 Connect:与压测网站建立MQTT连接。 Publish:发布消息。 Subscribe:订阅发送的消息。 DisConnect:关闭与压测网站的MQTT连接。 请求方法为“Connect”时设置以下参数。 MQTT版本 MQTT的版本,当前支持3.1、3.1.1版本。 传输地址 MQTT服务器地址,地址支持TCP、SSL、WS、WSS协议。 说明: MQTT传输地址暂不支持域名绑定功能。 超时时间(ms) 客户端建立连接、发送消息等相关操作的超时时间。 客户端ID MQTT客户端ID。通过“添加随机后缀”开关,可以设置客户端ID是否添加随机后缀。 用户名 MQTT客户端设置的用户名。用户名为敏感参数,请通过敏感参数模式的全局变量设值。 密码 MQTT客户端设置的密码。密码为敏感参数,请通过敏感参数模式的全局变量设值。 连接保活时长(s) 活动心跳间隔时间,单位为秒。 清空会话 打开开关,客户端和服务器之间建立连接时,会清空上一次连接所保留的会话信息。 关闭开关,客户端和服务器之间建立连接时,不会清空上一次连接所保留的会话信息。 添加遗嘱 打开开关,添加遗嘱。当客户端异常断开连接时,MQTT代理会自动将该遗嘱消息发布给其他订阅者。 添加遗嘱时设置以下参数: 主题:遗嘱的主题。 类型:支持Text和Hex类型,可以配置是否添加时间戳。 内容:遗嘱的内容。 QoS级别:服务质量等级,用于描述消息传递的可靠性。最多发送一次,适用于实时数据传输;至少发送一次,适用于需要可靠性但允许轻微延迟的应用;只发送一次,适用于需要高可靠性和较大延迟的应用。 保留遗嘱:打开开关,客户端订阅后马上就会收到设置的遗嘱信息;关闭开关,发布遗嘱信息的客户端发生意外断开之后,订阅了该客户端遗嘱信息的客户端才可收到遗嘱消息。 关闭开关,无遗嘱发送。 请求方法为“Publish”时设置以下参数。 主题 发布消息的主题。 QoS级别 服务质量等级,用于描述消息传递的可靠性。最多发送一次,适用于实时数据传输;至少发送一次,适用于需要可靠性但允许轻微延迟的应用;只发送一次,适用于需要高可靠性和较大延迟的应用。 请求类型 支持Text和Hex类型,可以配置是否添加时间戳。 请求内容 请求的详细内容。 超时时间(ms) 客户端发送消息的超时时间。 保留消息 打开开关,客户端断开连接时发布的消息仍会保留在服务器。 关闭开关,客户端断开连接时发布的消息会被清除。 请求方法为“Subscribe”时设置以下参数。 订阅主题 订阅消息的主题,应与发布消息的主题匹配。 QoS级别 服务质量等级,用于描述消息传递的可靠性。最多发送一次,适用于实时数据传输;至少发送一次,适用于需要可靠性但允许轻微延迟的应用;只发送一次,适用于需要高可靠性和较大延迟的应用。 响应类型 支持Text和Hex类型,可以配置是否添加时间戳。 超时时间(ms) 订阅主题的超时时间。 结束条件 达到该条件时,结束订阅消息。 触发耗时上限:达到设置的耗时上限时结束订阅消息。 触发收到消息数上限:达到设置的收到消息数上限时结束订阅消息。 请求方法为“Disconnect”时无需设置参数。 配置完成后,单击“保存”。
  • 使用限制 单账号跟踪的事件可以通过 云审计 控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的 CTS /system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到 对象存储服务 (OBS)或 云日志 服务(LTS),才可在OBS桶或LTS日志组里面查看历史事件信息。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
  • 操作步骤 首次创建测试资源,需父账号授权,自动创建委托使性能测试服务可以操作用户CCE。 需要使用性能测试服务的用户,需要CodeArts PerfTest Administrator或CodeArts PerfTest Developer权限(仅能查看自己创建的工程)。 需要管理私有资源组的用户,需要CodeArts PerfTest Administrator或CodeArts PerfTest Developer+CodeArts PerfTest Resource Administrator权限。 需要使用私有资源组的用户,需要CodeArts PerfTest Administrator或CodeArts PerfTest Developer+CodeArts PerfTest Resource Developer权限。 使用性能测试服务依赖的权限及具体使用场景,详见使用性能测试服务需要哪些权限。 登录性能测试服务控制台,在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 (可选)首次使用时,请根据提示信息,授权性能测试服务创建私有资源组。 进入创建资源组页面后,如果是首次使用没有云容器引擎服务CCE集群,需要先创建集群然后再创建资源组。如果已有可用的云容器引擎服务CCE集群,直接创建资源组。 创建集群。 单击页面上方的“创建集群”,进入购买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数量小于节点个数时,会将弹性IP随机绑定到节点上。 单击“下一步:规格确认”,确认节点配置信息无误后,勾选已阅读使用说明,单击“提交”等待节点创建。节点创建成功后,返回性能测试服务控制台。 创建资源组。 在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 参照表1设置基本信息。 表1 创建私有资源组 参数 参数说明 资源组名称 新建私有资源组的名称,可自定义。 节点集群 在下拉框选择已创建的CCE集群。 高级配置 可选项,配置项详见高级配置。 说明: 该功能为白名单特性,需要联系后台管理人员申请开通,审批同意后方可使用。 修改高级配置参数,可能导致任务无法正常执行,请谨慎修改。 调试节点 执行压测的调试机。 调试节点在资源组创建成功后不可修改。 执行节点 执行压测的执行机,即在压测过程中能够提供自身性能数据的施压目标机器。 单击“创建”。
  • 正则表达式响应提取示例 示例一 例如,前一个报文响应的报文内容如下所示: "baseInfo" : { "mobilephone":"xxxxxxxxxxx", "Telephone":"xxxxxxxxxxx", "unitGuid":"xx", "unitMame":null, "address":"xxx", "gender" : 0, "imageUr1" :nul1 }, "UserNotices":null }, "msgId'" : "64xxxxxxxxxxxxxxxxxxxxxxxf5", "isUsed" :"1" "token":"eyxxxxxxxxxxxJ9.eyJzdW1101JYZMiLCJcUbdGUkIJezMT!!zz#z!20TxxxxxxxxxxxxxxxxxS1611dYQISHTFKifVOsImd1aWQi0ilOODkiLCJleHAiOjEiMzIizNzY1MjZ9.myU5idiASM-11@EP7YQTfTsR_8zsq7?sbYJYoxfRsuf6OZhGL-XWmjnvdaviGauhSdw16ImWOFEvbA CS HMXGT1U0ijS5z6ezX@sZePruzFnvcIMgShF8xNPN6zVokQp-uwbyS3W6NpZpDuwsjuiZ7DZTNpKoqCkGHwvPJrHBOrWFR_u6-FBbTiFiqdhQb95U-1gLiLvoZHY_rguzwyrZ-leGRdCG_ZASreoWC-uH)HnqltpgItrChWQToHQyxOABdMSbBSHhNctBBZHgQPMESqQQQTbBiPGvbQDprB7ZBFMUB_ShynS_evtyfEladGEddhOBn-fxxxxxxxxxxx" }, 如果想要获取token值的,可通过正则表达式"token"\s*:\s*"(.*?)"提取,响应提取的设置如下图所示。 示例二 例如,前一个报文响应的报文内容为: javawind:9javawind:12 javawind:16javawind:17 javawind:46javawind:22 如果想要提取数值16,响应提取的设置如下图所示。 通过正则表达式javawind:(.*)javawind:(.*),提取数据如下: 9 12 16 17 46 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测试工程所在行,单击工程名称进入测试工程详情页面。 选择“测试用例”页签,在左侧“用例列表”下选择待添加请求信息的用例。 在“用例步骤”页签中,选择待添加请求信息的用例,单击“添加请求”。 在“响应提取”页签,参照表1设置基本信息。 表1 响应提取参数 参数 参数说明 启用响应提取 启用响应提取后,如果同一用例中存在多个报文,通过正则表达式或JSON提取把前一个报文的输出提取出来,作后一个报文的输入。 变量名称 变量的名称,命名必须唯一,响应提取的值赋予此变量。 预期值 预期响应提取出的变量值。 开启后,会将响应提取到的值与预期值进行比对,如果不等则链接失败。 提取内容范围 响应提取内容的范围。 其中,“报文内容”、“头域”和“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 匹配结果: 2 9 1 4 ([A-Za-z]+) 匹配由26个英文字母组成的字符串 字符串: bTivm2wu9jih1LBKR4osZGrjjl 匹配结果: bTivm wu jih LBKR osZGrjjl ([A-Za-z0-9]+) 匹配由数字和26个英文字母组成的字符串 字符串: bTivm2wu9jih1LBKR4osZGrjjl:asdasd22 匹配结果: bTivm2wu9jih1LBKR4osZGrjjl asdasd22 (\w+) 匹配由数字、26个英文字母或者下划线组成的字符串 字符串: bTivm2wu9jih1LBKR4osZGrjjl:asdasd22 匹配结果: bTivm2wu9jih1LBKR4osZGrjjl asdasd22 ([\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+) 匹配email地址 字符串: bTivm2wu9jih1LBKR4osZGrjjl:abc@abc.com 匹配结果: abc@abc.com (可选)一个请求信息可包含1个或多个变量,如果您的请求信息需要添加多个变量,请单击“添加变量”,再设置变量的相关参数。 配置完成后,单击“保存”。
  • JMeter测试工程简介 客户使用JMeter开发了压测脚本,如何快速高效执行存量脚本成为客户当前的主要痛点。 性能测试服务兼容JMeter脚本以及脚本的执行,企业仅需把原有JMeter脚本导入生成JMeter工程,即可快速进行压测,缩短搭建JMeter大规模压测环境的时间,按需弹性扩容并发执行机,提升整体执行效率,支撑压测周期由周级降低至小时级。 JMeter测试工程可以为用户提供JMeter原生引擎的支持,用户可在JMeter测试工程里导入JMeter脚本,使用JMeter原生引擎快速发起高并发的性能测试。 图1 JMeter测试工程 父主题: JMeter测试工程管理
  • 8大特色压测模型简介 性能测试服务沉淀了30年高并发测试工程方案与实践,提供了浪涌(突发流量)、智能摸高(系统性能摸底)、震荡(模拟高低峰)、TPS模式(压力自定义)等8大模式,快速构建真实场景,助力产品压测场景覆盖率提升50%,满足客户全场景的压测诉求。 压力测试支持的8种模式如下: 按时长并发模式 按次数并发模式 按时长TPS模式 按次数TPS模式 摸高模式 浪涌模式 震荡模式 智能摸高 图1 压测模式 父主题: 测试用例说明
  • 操作步骤 登录性能测试服务控制台,在左侧导航栏中选择“PerfTest测试工程”。 在待编辑PerfTest测试工程所在行,单击工程名称进入测试工程详情页面。 选择“测试用例”页签,单击“全局变量”。 通过手工输入方式添加全局变量。 单击“添加变量”。 参照表1设置参数。 表1 设置全局变量 参数 参数说明 名称 新增全局变量的名称。 类型 新增变量类型,支持整数、枚举和文本三种类型。 值 压测任务运行时会读取对应全局变量的参数值,针对每个虚拟用户,依次轮询变量值,即第一个虚拟用户取变量的第一个值,第二个虚拟用户取第二个值,依顺序取值,不够则循环。 说明: 变量的内容,在压测时将以明文传输,请谨慎输入,注意数据安全。 变量类型为整数时,输入变量值范围。 变量类型为枚举时,单击,输入变量值。 变量类型为文本时,输入文本值。 读取模式 顺序模式:顺序读取变量。 随机模式:随机读取变量。 共享模式 用例模式:每个并发共享一个变量。 并发模式:每个并发单独复制一个同名变量进行使用,不同并发按顺序读取变量值,互不影响。 敏感参数 勾选为敏感参数后,将对变量值加密存储。如果界面刷新后再次编辑,将清空变量值,请谨慎操作。 说明: 敏感参数仅适用于文本类型变量。 选择不同的变量读取模式和变量共享模式时变量读取规则可参考变量读取规则。 设置完成后,单击保存。 变量创建完成后您还可以执行如下操作: 单击“编辑”进行修改。如果该全局变量已被事务所引用,变量修改后,事务中的全局变量值会同步修改。 单击“删除”,删除添加的全局变量文件。 全局变量文件被引用时,不可删除。
  • 实施步骤 登录性能测试服务控制台,在左侧导航栏中选择“PerfTest测试工程”,单击“创建测试工程”。 在弹出的对话框中,输入测试工程的名称,例如“Web-test”,单击“确定”。 单击已创建的测试工程名称“Web-test”,进入测试工程详情页面。在“测试用例”页签,可以看到自动生成的默认目录和样本用例。 在“测试用例”页签中,单击“全局变量”。 添加全局变量。可以直接添加整数、枚举型或文本型全局变量,也可以通过csv格式文件或者xlsx格式文件添加文件型全局变量。 添加整数、枚举型或文本型全局变量 在“全局变量”弹框中单击“添加变量”,输入变量名称,选择变量类型,输入变量值,选择读取模式和共享模式后,单击操作栏的添加变量。例如,添加整数全局变量“number”。 图1 添加整数全局变量 添加文件型全局变量 在“全局变量”弹框中单击“csv模板下载”或者“xlsx模板下载”获取所需的变量文件模板。 按照模板填写相应的变量名称和变量值,如图2,第一行填写变量名称,从第二行开始则填写对应变量的值,“.csv”和“.xlsx”填写规则一样。 图2 文件变量填写示例 变量名称:建议使用中文、英文、数字或下划线,变量的值则不限内容。 导入的文件格式:仅支持UTF-8无BOM格式。 文件名称:文件名称长度上限为50字节(含后缀),文件名称建议使用中文、英文、数字或下划线。 单击“文件变量导入”,上传已填写好的变量文件。 全局变量添加完成后,关闭“全局变量”弹窗。 在测试用例中插入已经添加好的全局变量。例如在3中的样本用例请求信息中,插入已创建的全局变量“number”。 在请求信息输入框内输入“$”。 在插入变量弹框中,选择变量类型为“自定义变量”,变量范围为“全局”,变量名称选择“number”。 图3 插入变量 单击“选择 ”插入变量。 图4 插入变量number 父主题: 全局变量使用全流程
  • 任务创建、调试及启动 返回性能测试服务控制台,在页面上方选择“区域”。 在左侧导航栏选择“总览”,进入“总览”页面。单击“热门模板”中的“一网通办系统场景”,一键创建一网通办系统场景压测工程。 一网通办系统场景完成创建后,会自动进入一网通办系统压测工程的“测试用例”详情页面。 图1 一网通办系统压测工程 选择对应的测试用例,修改相应的参数。例如,整点时间消费券免费领取场景,修改响应的请求信息,修改完成后单击“保存”。 图2 修改参数 单击“调试”,选择对应的测试资源组作为执行器后单击“启动”启动调试。如果调试结果报错,可根据日志信息,修改用例后重新调试。 在“测试任务”页签,单击“创建任务”。 输入测试任务名称,单击“添加用例”,选择需要添加的用例,单击“确定”。单击“保存”,测试任务创建完成。 图3 添加用例 在测试任务操作栏单击“启动”按钮。 图4 启动任务 选择资源组类型后,单击“启动”启动测试任务。
  • 测试资源准备 进入购买性能测试套餐页面。 设置以下信息。 表1 性能测试服务套餐参数说明 参数 说明 服务版本 根据需求选择专业版或者企业版。两者的区别请参见价格计算器。例如,选择“企业版”。 区域 选择“区域”。例如,选择“华北-北京四”。 不同的区域之间套餐包不互通,每个区域需分别购买。 企业项目 该参数针对企业用户使用。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。 计费模式 “专业版”只支持“按需套餐包”。 “企业版”支持“按需套餐包”和“包周期套餐包”。 峰值并发 执行压测任务支持的最大并发用户数。例如,选择“5万”。 VUM额度 仅在“计费模式”为“按需套餐包”时,需要设置。 VUM指任务对资源的消耗数,表示每虚拟用户每分钟。计算公式为VUM=VU(虚拟并发用户数)*M(压测时长,单位为分钟)。 有效期 仅在“计费模式”为“按需套餐包”时,涉及该参数。 默认为“一年”。套餐包到期后,未使用的VUM会被清零。 包周期时长 仅在“计费模式”为“包周期套餐包”时,需要设置。 选择需要包周期的时长,可选择:1至9个月,或1年,也可自动续费。 单击“立即购买”,进入订单确认页面。 确认订单无误后,支付订单。 登录性能测试服务控制台,在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 (可选)首次使用时,请根据提示信息,授权性能测试服务创建私有资源组。 进入创建资源组页面后,如果是首次使用没有云容器引擎服务CCE集群,则需要先执行创建集群然后再创建资源组。如果已有可用的云容器引擎服务CCE集群,直接执行创建资源组。 创建集群。 单击页面上方的“创建集群”,进入购买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数量小于节点个数时,会将弹性IP随机绑定到节点上。 单击“下一步:规格确认”,确认节点配置信息无误后,勾选已阅读使用说明,单击“提交”等待节点创建。节点创建成功后,返回性能测试服务控制台。 创建资源组。 在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。 参照表2设置基本信息。 表2 创建私有资源组 参数 参数说明 资源组名称 新建私有资源组的名称,可自定义。 节点集群 在下拉框选择已创建的CCE集群。 调试节点 选择执行压测的管理机。 调试节点在资源组创建成功后不可修改。 执行节点 选择执行压测的执行机,即在压测过程中能够提供自身性能数据的施压目标机器。 单击“创建”。
  • 报文如何填写? 报文通俗的解释就是用户在网站界面上的所有单击操作。每个单击操作通过编辑成满足协议规范带有用户请求内容格式的码流传送给不同的第三方,最后得到一个正确或者失败响应的一个过程。得到正确的响应,这个单击动作会操作成功;得到错误的响应,界面会提示一些错误信息指导用户怎么修正。 性能测试服务支持报文的请求类型分为GET、POST、PATCH、PUT和DELETE,那么报文如何填写呢? 首先在压测前需要确认请求接口是一个什么动作。 以查询为例,查询消息就是一个GET请求,在配置时选择GET方式即可。 如果请求消息中有涉及输入参数的情况怎么办? 如果一个请求涉及到用户各种信息的输入,可以通过在操作时按“F12”,或抓包工具(例如wireshark)查看报文是怎么请求的,报文体是什么样的格式,如何传送到第三方接口。然后根据实际业务在压测的报文中填写。 一般情况这类请求方式会是一个POST,选择POST方式后,会有联动的选项展示出来。 图1 报文内容 标准的HTTP/HTTPS格式,报文的头域依照抓包的内容填写;报文体就是具体请求的内容,根据被测服务业务来判断,可以是游戏的登录请求,可以是银行的开户请求等等,只要满足HTTP/HTTPS的协议都可以编辑报文进行压测。 PATCH、PUT和DELETE的原理和POST是一样的。首先确认被测应用的协议类型、请求方式和请求链接,其次确认具体请求的内容。 父主题: 压测工程管理
  • 导出测试工程 为简化操作,用户不必从零开始编写测试工程,只需要找到与自己业务模型类似的工程,导出测试工程,在此基础上略作修改,再导入测试工程即可。 登录性能测试服务控制台,在左侧导航栏中选择“PerfTest测试工程”。 在PerfTest测试工程列表中选中一个或多个待导出的工程,单击“导出”,保存测试工程文件ProjectList(序列号).json到本地。 如果测试工程中包含SLA规则,导出工程时,无法导出SLA规则的相关内容。 如果全局变量上传了文件,导出测试工程时,无法导出对应的文件。 可扩展测试工程暂不支持导出工程。 暂不支持导出含有MQTT协议的工程。 按照业务需求修改文件中相关参数、工程名称(工程名称需唯一),并保存文件。 请勿修改ProjectList(序列号).json文件的格式。
  • 导入测试工程 性能测试服务支持导入PerfTest类型和JMeter类型的测试工程。 登录性能测试服务控制台,在左侧导航栏中选择“PerfTest测试工程”,单击“导入”。 PerfTest工程导入。 “工程类型”选择“PerfTest工程”。 单击PerfTest文件后的“选择文件”,选中json格式的工程文件,单击“导入”。 导入的工程名称不能和性能测试服务中已存在的工程同名,否则导入会失败。 暂不支持导入含有MQTT协议的工程。 JMeter工程导入。 JMeter文件中关键信息请使用性能测试服务支持的字符,详情请参见 JMeter与PerfTest字段对应关系。 JMeter解析的内容包括: 线程组、HTTP请求、HTTP信息头管理器、正则表达式提取器、用户参数、用户定义的变量、HTTP默认请求值、固定定时器。 暂不支持随机变量。 为保证数据导入的准确性,尽量不要使用重名变量。 JMeter脚本大小不超过5MB。 “工程类型”选择“JMeter工程”。 单击JMeter文件后的“选择文件”,选中jmx格式的工程文件,单击“导入”。 工程导入成功后,单击“关闭”。您可以根据业务需要参照修改测试工程和管理事务请求信息修改测试工程。