云服务器内容精选

  • 预置报告 华为云为您提供了默认的分析报告,便于您快速分析成本。您无法删除默认报告,只能复制和新增。 表1 成本和使用情况报告 报告名称 说明 按产品类型汇总的月度成本 了解过去6个月原始成本较高的产品类型。 按关联账号汇总的月度成本 了解过去6个月原始成本较高的关联账号。 每日成本 了解过去3个月+未来一个月的每日原始成本趋势。 月度摊销成本 了解过去6个月摊销成本的月度趋势。 E CS 的月度按需成本和使用量 了解过去6个月云主机每月按需原始成本和按需使用量情况。
  • 请求示例 { "models": [ { "adminOrganization": "830", "reportName": "7570.xlsx", "sceneTaskId": 3312207, "templateId": 117045418713, "templateName": "报告模板test12312" } ] }
  • 响应参数 参数 类型 描述 stateCode String 响应状态码: 0-成功 其他-失败 errorMessage String 响应描述 result Object 响应结果内容data、分页数据 Result: 参数 类型 描述 reportVersion String 报告版本号 reportName String 报告名称 adminOrganizationName String 行政组织名称 orgPath String 组织路径 lastUpdateDate Date 最近更新时间 templateId Long doc模板Id deleteFlag Integer 删除标识 lastUpdateTimestamp Long 最近更新时间戳 entityName String 实体名称 reportTemplateName String 报告模板名称 reportCode String 报告编码 creationTimestamp Long 创建时间戳 isAuto Integer 自动生成 1为是 0为否 id Long 主键ID taskStatus Integer 任务审批状态 reportDoneTimestamp 报告完成时间 报告完成时间 lastUpdatedBy Long 最近更新人 appName String 应用名称 sceneName String 许可场景 adminOrganizationCode String 行政组织编码 isNew Integer 是否最新 creationDate Date 创建时间 version Double 版本 sceneTaskId Long 场景任务ID templateName String 报告模板名称 createdBy Long 创建人 affectedRows Integer 影响行数 tenantId Long 租户Id adminOrganization String 行政组织编码 lastUpdateName String 最近更新人名称 taskName String 父任务名称 createName String 创建人名称 status Integer 报告状态
  • 响应示例 { "stateCode": "0", "result": [ { "reportVersion": "1.1", "reportName": "7570.xlsx", "adminOrganizationName": "杨凌作业系统测试", "orgPath": "-1.830", "lastUpdateDate": "2024-01-24T03:58:37.177+00:00", "templateId": 117045418713, "deleteFlag": 0, "lastUpdateTimestamp": 1706068717146, "entityName": "TaskReport", "reportTemplateName": "报告模板test12312", "reportCode": "REPORT-202401247146", "creationTimestamp": 1706068717146, "isAuto": null, "id": 127711, "taskStatus": null, "reportDoneTimestamp": 1706068717146, "lastUpdatedBy": 930464, "appName": "isdp-qc-report-server", "sceneName": null, "adminOrganizationCode": "830", "isNew": 0, "creationDate": "2024-01-24T03:58:37.177+00:00", "version": 1.1, "sceneTaskId": 3312207, "templateName": "报告模板test12312", "createdBy": 930464, "affectedRows": 1, "tenantId": 886, "adminOrganization": "830", "lastUpdateName": "twx接口文档test", "taskName": "质检任务test1231", "createName": "twx接口文档test", "status": 1 } ], "errorMessage": null }
  • 请求参数 参数 类型 是否必填 描述 models List 是 模板模型 models参数 参数 类型 是否必填 描述 adminOrganization String 是 行政组织编码 reportName String 是 报告名称 taskId Long 否 检查单Id sceneTaskId Long 否 任务ID status Integer 否 任务审批状态 templateId Long 是 doc模板Id templateName String 否 报告模板名称 ticketId Long 否 工作票ID isGenerateDoc Integer 否 是否自动生成 1-是,0为否
  • 报告总览 测试报告说明如表1所示。 测试报告展现了测试过程中被测系统在模拟高并发用户的响应性能,为了更好阅读测试报告,请参考以下信息: 统计维度:测试报告的RPS、响应时间、并发等统计维度均为单个用例,如用例中有请求多个报文,只有在多个请求报文均正常返回会认为成功,响应时间也是多个请求报文的求和值。 响应超时:出现该情况是在设置的响应超时时间内(默认5s),对应的TCP连接中没有响应数据返回时,会将本次用例请求统计为响应超时。出现原因一般是被测服务器繁忙、崩溃、网络带宽被占满等。 校验失败:从服务器返回的响应报文不符合预期(针对HTTP/HTTPS默认的预期响应码为200),比如服务器返回404、502等。出现原因一般为高并发情况下被测服务无法正常处理导致的,如分布式系统中数据库出现瓶颈、后端应用返回错误等。 解析失败:响应报文已全部接收完成,但是部分报文丢失导致整个用例响应不完整,这种情况一般需要考虑网络丢包。 带宽统计:本报告统计的是性能测试服务执行端的带宽,上行表示从性能测试服务发出的流量,下行表示接收到的流量。如果是外网压测场景,您需要关注执行机的EIP带宽是否可以满足上行带宽的要求。而下行带宽需要关注单台执行机是否超过1GB。 RPS:Requests Per Second,每秒请求数。平均RPS=统计周期内的请求总数/统计周期。 SLA结果: 当测试用例配置SLA规则后,您可以在SLA报告中查看SLA规则是否被触发。SLA报告中,请求名称为测试用例中请求的名称,规则为已配置的SLA规则。平均值(运行中的任务显示为当前值)代表测试用例从开始压测到目前为止,业务指标的平均值,以及触发SLA规则的总次数。触发事件显示触发SLA规则的时间、请求名称和当前的触发次数。 如何判断被测应用优劣:根据应用本身的服务质量定义,理想状态是没有任何响应失败、校验失败的情况,如果有,需要在服务质量定义范围之内,通常情况下不超过1%,同时响应时间越低越好(2s内体验较好,5s内可以接受,超过5s则需要考虑优化),TP90、TP99指标可以客观反映出90%、99%用户的体验响应时间。 表1 测试报告说明 参数 参数说明 各项指标总量 所有用例各项指标总量的汇总。 最大并发:最大并发操作的虚拟用户数。 RPS:每秒请求数。 响应时间:指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间。 响应码:记录压测任务进行中响应码分布的情况。 带宽:记录压测任务运行所消耗的实时带宽变化。 SLA事件:SLA中定义的事件发生情况。 正常返回:如设置了检查点,检查点通过的用例响应数,如未设置默认为返回2XX的用例响应数。 异常返回:解析失败、校验失败、响应超时、3XX、4XX、5XX、连接被拒绝的用例响应数。 成功率:正常返回请求数/总请求数。 平均RPS 统计周期内的请求总数/统计周期。 平均RT 某一秒发出的所有请求的平均响应时间。 并发数 记录压测任务运行时,当前并发操作的虚拟用户数的变化。 带宽(KB/S) 记录压测任务运行所消耗的实时带宽变化。 上行带宽:从性能测试服务测试执行机往外发送出去数据的速度。 下行带宽:性能测试服务测试执行机接收到数据的速度。 响应状态分布 正常返回、解析失败、校验失败、响应超时、连接被拒绝和其他错误的每秒处理用例数,该项指标与思考时间、并发用户、服务器响应能力均有关,比如思考时间为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的值。
  • 响应示例 状态码: 200 任务用例列表响应对象 { "code" : "SVCSTG.CPTS.0000000", "message" : "success", "extend" : null, "result" : { "case_aw_info_list" : [ { "aw" : [ { "datumType" : 0, "id" : "7053151331402211329", "name" : "request-example" } ], "awList" : [ { "awList" : null, "caseAwId" : "7053151331402211329", "datumType" : 0, "name" : "request-example", "transactionId" : null } ], "caseAwId" : "7053151331402211328", "caseUri" : null, "case_uri_i" : "83820", "datumType" : 1, "id" : "7053151331402211328", "name" : "test-case", "taskExecId" : "5206012", "taskId" : "az-4-69824", "testcaseId" : "5206012", "transactionList" : [ ] } ], "err_message" : null } }
  • URI GET /v2/{project_id}/task-run-infos/{task_run_id}/cases 表1 路径参数 参数 是否必选 参数类型 描述 task_run_id 是 Integer 运行任务ID,即报告ID。启动任务(更新任务状态或批量启停任务)接口,会返回运行任务ID。 最小值:0 最大值:2147483647 project_id 是 String 项目ID,获取方式请参见获取项目ID。 最小长度:0 最大长度:64
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 code String 响应码 最小长度:0 最大长度:1024 message String 响应消息 最小长度:0 最大长度:10240 extend Object 扩展信息 result CaseReportSummary object 测试报告用例列表 表3 CaseReportSummary 参数 参数类型 描述 case_aw_info_list Array of CaseAwInfo objects 用例和aw信息视图 err_message String 错误信息 最小长度:0 最大长度:1000000 表4 CaseAwInfo 参数 参数类型 描述 aw Array of AwInfoDTO objects aw信息 awList Array of DetailItem objects aw详细信息列表 caseAwId String 数据库中dc_case_aw表中的主键ID 最小长度:0 最大长度:100000 caseUri String 数据库中dc_testcase表中的case_uri 最小长度:0 最大长度:100000 case_uri_i String 数据库中dc_testcase表中的case_uri_iteration 最小长度:0 最大长度:100000 datumType Integer 数据类型(用例/aw/事务) 最小值:0 最大值:1024 id String 数据库中dc_case_aw表中的主键ID 最小长度:0 最大长度:100000 name String 用例名 最小长度:0 最大长度:100000 taskExecId String 数据库中dc_testcase表中的testcase_id 最小长度:0 最大长度:1000000 taskId String 任务ID 最小长度:0 最大长度:1000000 testcaseId String 数据库中dc_testcase表中的testcase_id 最小长度:0 最大长度:1000000 transactionList Array of DetailItem objects 事务详细信息列表 表5 AwInfoDTO 参数 参数类型 描述 name String AW名 最小长度:0 最大长度:100000 id String 数据库中dc_case_aw表中的主键ID 最小长度:0 最大长度:100000 datumType Integer 数据类型(用例/aw/事务) 最小值:0 最大值:1024 表6 DetailItem 参数 参数类型 描述 caseAwId String 数据库中dc_case_aw表中的主键ID datumType Integer 数据类型(用例/aw/事务) name String 用例/AW/事务名 transactionId String 事务ID awList Array of DetailItem objects AW列表
  • 请求示例 { "filter": {}, "page": { "start": 0, "count": 1 }, "taskReport": { "reportName": "", "reportCode": "", "locationId": "", "locationName": "", "countryId": "", "provinceId": "", "cityId": "", "adminOrganizationCodeList": [], "administrativeRegion": "", "sceneTaskId": "3240932" } }
  • 响应示例 { "data": [ { "reportDoneDate": "2023-03-16T15:05:32", "tempVersion": null, "tempName": null, "reportName": "级联输出项1_报告test_0077.xlsx", "taskStatus": null, "reportTemplateName": "0318", "reportVersion": "1.0", "locationId": null, "locationName": null, "errorMessage": "success", "reportProgress": "100", "reportCode": "REPORT-202303160263", "serviceType": null, "deliveryScene": null, "productType": null, "locationType": null, "administrativeRegion": null, "createName": "lyl10改", "lastUpdateName": "lyl10改", "appName": "isdp-qc-report-server", "entityName": "taskReport", "projectNo": "", "city": null, "country": null, "province": null, "id": 126967, "taskId": null, "qcTaskName": null, "fileId": 7488130, "tenantId": 886, "createdBy": 153169, "lastUpdatedBy": 153169, "templateId": 117045417795, "lastUpdateTimestamp": 1678950331891, "creationTimestamp": 1678950330263, "reportDoneTimestamp": 1678950330263, "cityId": null, "countryId": null, "provinceId": null, "status": 2, "isAuto": 1, "deleteFlag": 0, "isNew": 0, "creationDate": "2023-03-16T07:05:30.000+00:00", "lastUpdateDate": "2023-03-16T07:05:32.000+00:00", "qcSceneTaskId": null, "sceneTaskName": "级联输出项1", "ticketId": 0, "ticketCode": null, "ticketName": null, "sceneName": null, "projectName": "", "sceneTaskId": 3240932, "taskName": null, "templateType": 4, "adminOrganizationCode": "833", "adminOrganizationName": "中国区11112223333" } ] }
  • 响应参数 参数 类型 描述 stateCode String 响应编码。 errorMessage String 错误信息。 result Object[] 响应数据。 result中data对象参数说明: 参数 类型 描述 id Long 报告id adminOrganizationCode String 组织编码 adminOrganizationName String 组织名称 administrativeRegion String 行政区域 city String 城市 cityId Long 城市id country String 国家 countryId Long 国家id province String 省 provinceId Long 省id fileId Long 文件id deliveryScene String 交付场景 isAuto int 是否自动生成 1-是,0为否 isNew int 是否最新 locationId String 作业对象id locationName String 作业对象名称 locationType String 作业对象类型 productType String 产品类别 projectName String 项目名称 projectNo String 项目编码 qcSceneTaskId Long 任务id qcTaskName String 检查单名称 reportCode String 报告编码 reportDoneDate Datetime 报告生成日期 reportDoneTimestamp Long 报告生成时间戳 reportName String 报告名称 reportProgress String 报告生成进度 reportTemplateName String 报告模板名称 reportVersion String 版本号 sceneName String 场景名称 sceneTaskId Long 任务id sceneTaskName String 任务名称 serviceType String 业务类型 status int 报告状态 taskId Long 检查单id taskName String 检查单名称 taskStatus int 任务审批状态 tempName String 采集模板名称 tempVersion String 报告版本号 templateId Long 采集模板id templateType int 业务单类型 ticketCode String 许可拜纳姆 ticketId Long 许可id ticketName String 许可名称
  • 请求参数 参数 类型 是否必填 描述 page Object 否 分页信息 page.start int 否 起始位置 page.count int 否 条数 taskReport Object 否 报告信息 taskReport .reportName String 否 报告名称 taskReport .reportCode String 否 报告编号 taskReport .locationId long 否 区域id taskReport .locationName String 否 区 域名 称 taskReport .countryId long 否 国家id taskReport .provinceId long 否 省份id taskReport .cityId long 否 城市id taskReport .sceneTaskId long 否 任务id taskReport .adminOrganizationCodeList list 否 组织单元编码集合 taskReport .administrativeRegion String 否 行政区域 filter Object 否 过滤条件 filter中object对象参数说明 参数 类型 是否必填 描述 status Object 否 报告生成状态 status.type String 否 enum(固定值) status.value list 否 状态值 示例[0] 0:待创建 1:创建中 2:创建成功 3: 创建失败
  • 操作步骤 登录性能测试服务控制台,在左侧导航栏中选择“PerfTest测试工程”,单击待操作工程后的。 在“性能报告”页签下,选择需要查看报告的任务。 单击“任务名称”,或单击操作栏的,在左侧“报告列表”中选择需要查看的离线报告,详细参数说明请参考表1。 您可以选择下载离线报告(PDF格式)到本地进行查看,同时支持导出原始数据(CSV格式),可进行二次加工。 性能测试服务只为用户保留1年内的离线报告数据。 在“总览”页签下,您可以查看失败数/总请求数、平均时延、RPS、最大并发、成功率、SLA告警、带宽、动态趋势、响应码等。 在“明细”页签下,您可以查看该测试任务下测试用例的日志、通用测试指标、请求详情及SLA规则是否触发。 单击“查看日志”,在“查看日志”弹窗中可以查看请求日志、事件日志及Pod信息。其中请求日志根据请求名称、返回码、结果这三个条件,各展示10条日志。 用例日志采集策略配置为请求模式的请求日志支持对返回码/结果/请求名称进行过滤展示。日志采集策略中在测试用例的“高级配置”中设置,详见高级配置。 报告明细显示的采样模式有等距抽样值和等距平均值。 等距抽样值:根据用例执行时长,对大于45min的用例的趋势图以固定的时间间隔进行抽样点展示。 等距平均值:根据用例执行时长,对大于45min的用例的趋势图以固定的时间间隔进行平均值展示。 单击“数据显示”下拉框,输入关键字搜索,可以显示您需要的用例或请求数据。也可以在“数据显示”下拉框的用例目录中直接单击您需要显示的用例或请求数据。 在“明细”页签下,您也可以单击“列表”进入报告指标汇总页面。 单击“自定义列”,可以在“表格设置”弹框中选择需要显示的列表项;在弹框右侧拖动已选列,可以改变列表项的顺序。 图1 表格设置 单击操作栏中的查看日志。 单击操作栏中的编辑测试用例。 如果测试任务已关联智能分析对象中的应用监控( APM ),测试报告则体现“调用分析”页签。在“调用分析”页签,通过设置查询条件,可以查看符合查询条件的APM调用详细记录。 如果测试任务已关联智能分析对象中的主机监控( AOM ),测试报告则体现“监控指标”页签。在“监控指标”页签可以查看CPU使用率、内存使用率、磁盘读取速度、磁盘写入速度信息。
  • 性能测试服务报告界面的RPS和TPS有什么区别? RPS是Requests Per Second的简称,用例的RPS=用例总请求数/用例的运行时长;TPS是Transactions Per Second的简称,用例的TPS=用例的事务数/用例的运行时长,其中事务定义为:性能测试服务压测过程中,会循环执行用例中的所有测试步骤,每完成一次循环,算做一次事务(transaction)。 父主题: 压测报告管理