阿里云性能测试运维(Alibabacloud Pts Ops)
v0.0.1Alibaba Cloud PTS(性能测试服务)基于场景的技能,用于创建和管理压力测试场景。支持PTS原生HTTP/HTTPS压力测试和JMeter基于的压力测试。触发器: "PTS"、 "压测"、 "性能测试"、 "stress testing"、 "performance testing"、 "JMeter"、 "load testing"、 "创建压测场景"
运行时依赖
安装命令
点击复制技能文档
阿里云PTS压力测试场景管理 本技能允许您使用阿里云PTS(性能测试服务)创建和管理压力测试场景。它支持PTS原生HTTP/HTTPS压力测试和基于JMeter的压力测试。
场景描述 PTS(性能测试服务)是阿里云的全托管性能测试平台,帮助您验证应用程序的性能、容量和稳定性。本技能涵盖:
PTS原生压力测试 - 使用可配置的API、串联链接和负载模型创建HTTP/HTTPS压力测试场景 JMeter压力测试 - 上传和运行JMeter脚本,实现分布式负载生成
架构 用户 → Aliyun CLI → PTS服务 → 目标应用程序 ↓ 压力测试报告
预检 预检:要求Aliyun CLI >= 3.3.1。运行aliyun version验证版本是否 >= 3.3.1。如果未安装或版本过低,请参阅references/cli-installation-guide.md安装指南。然后必须运行aliyun configure set --auto-plugin-install true启用自动插件安装。
# 验证CLI版本 aliyun version # 启用自动插件安装 aliyun configure set --auto-plugin-install true
超时设置 所有CLI命令都应包含超时参数,以避免挂起:
# 推荐的PTS操作超时设置 --read-timeout 60 --connect-timeout 10 read-timeout:60秒(压力测试操作可能需要更长时间) connect-timeout:10秒
环境变量 无需额外的环境变量,仅需CLI身份验证。
参数确认 重要:参数确认 - 在执行任何命令或API调用之前,所有用户可自定义的参数(例如RegionId、场景名称、目标URL、并发度、持续时间、JMX文件等)必须与用户确认。不要假设或使用默认值而不经用户明确批准。
用户可自定义参数 参数名称 是否必需 描述 默认值 RegionId 否 PTS服务区域 cn-hangzhou 场景名称 是 压力测试场景名称 - 目标URL 是 压力测试URL - HTTP方法 是 GET、POST、PUT、DELETE等 GET 并发度 是 并发用户数 - 持续时间 是 测试持续时间(秒) - JMX文件 是(JMeter) JMeter脚本文件路径 - 模式 否 CONCURRENCY或TPS CONCURRENCY
身份验证 本技能依赖于Aliyun CLI的默认凭证链。确保CLI在使用前已经进行身份验证。验证当前身份验证:aliyun configure get。如果CLI尚未配置,请参阅references/cli-installation-guide.md设置指南。
RAM策略 用户必须具有适当的PTS权限。请参阅references/ram-policies.md获取详细策略。
幂等性 PTS API不支持基于ClientToken的幂等性。场景名称不唯一 - 多个PTS或JMeter场景可能共享相同的场景名称。永远不要将“相同名称”视为一个资源;始终使用SceneId(由API返回)作为稳定的标识符。为了防止重复资源或在超时或错误后重试时产生意外副作用,始终在每个写操作之前使用检查-然后执行模式:
操作 检查然后执行 如果已经存在/正在运行 创建PTS场景(save-pts-scene) 不要按名称去重复。成功后记录SceneId。如果之前的调用结果未知,使用list-pts-scene与用户消除歧义,然后重试;不要盲目重试save(每次重试可能会创建另一个场景)。 创建JMeter场景(save-open-jmeter-scene) 与PTS相同 - 名称可能重复;仅使用SceneId。同样的模式与list-open-jmeter-scenes + 用户消除歧义之前重试。 启动PTS测试(start-pts-scene) get-pts-scene-running-status - 检查状态 如果正在运行或同步中,跳过;不要再次启动 启动JMeter测试(start-testing-jmeter-scene) get-open-jmeter-scene - 检查状态 如果已经运行中,跳过;不要再次启动 删除PTS场景(delete-pts-scene) 确认目标SceneId仍然存在(例如list-pts-scene / get-pts-scene) 如果SceneId已经消失,视为成功(已经删除) 删除JMeter场景(remove-open-jmeter-scene) 确认目标SceneId仍然存在 如果SceneId已经消失,视为成功(已经删除)
核心工作流 重要:参数确认 - 在执行任何命令或API调用之前,所有用户可自定义的参数(例如RegionId、场景名称、目标URL、并发度、持续时间等)必须与用户确认。不要假设或使用默认值而不经用户明确批准。
工作流1:创建和运行PTS原生压力测试 任务1.1:创建PTS场景 注意:使用save-pts-scene代替create-pts-scene。--scene参数直接接受JSON对象(不包装在Scene字段中)。幂等性:场景名称可能在场景中重复。不要跳过创建或仅根据名称选择场景。在save-pts-scene成功后,记录返回的SceneId以供后续步骤使用。