通过 Rest API 或自动化从性能中心或负载运行器分析中提取稳态性能测试结果?

Posted

技术标签:

【中文标题】通过 Rest API 或自动化从性能中心或负载运行器分析中提取稳态性能测试结果?【英文标题】:Extract steady state performance test results from Performance center or Load Runner Analysis through Rest API or Automation? 【发布时间】:2017-06-01 17:51:13 【问题描述】:

有没有办法从性能中心或负载运行器自动提取稳态性能测试结果?

我无法对模板做太多事情,如果有人在这方面取得了成功,请分享你的想法。

用例:- 我们有一个自动化管道,它通过性能中心上的 Rest API 运行性能测试,并在完成后以 html 格式下载相应的测试结果。但是这个 HTML 报告是针对整个测试期间的,而我们只需要稳定状态部分。

我们的 PE 工程师在他们的本地机器上使用 Load Runner Analysis (HP Analysis) 从原始结果中提取稳定状态(另一种结果类型,可以通过 Rest API 从性能中心下载,就像上面提到的 HTML 报告一样。)

我尝试对 Load Runner Analysis 命令行执行相同操作,但未能成功参数化和应用稳定状态模板。

我在某处读到(6 个月前做的,现在没有互联网链接),报告模板无法参数化时间,即稳定状态。

【问题讨论】:

【参考方案1】:

使用 REST 服务,可以提取数据,而不是稳定状态。请查看this 链接。

对于每次运行,稳态时间都不同。除非您知道确切的持续时间,否则无法过滤。

以下技巧将帮助您在不打开分析的情况下应用稳定状态。但请确保您对稳态持续时间是 100% 肯定的。

    以秒为单位转换您的稳态时间。例如。 1 分 5 秒到 65 秒。 转到您的分析文件C:\Users\<ID>\Documents\VuGen\Analysis\<File-Name> 在您喜欢的编辑器中打开 <File-Name>.asc 文件。 搜索Scenario Elapsed Time 并分别在Dim_0Dim_1 中添加稳定状态的开始和结束时间。 (您也可以编写一个宏来自动化多个文件)
`[SDFilter0]
DimensionType=Continuous
InternalDimName=End Time
Dimension=Scenario Elapsed Time
EqualFlag=1
DimensionTableName=Event_meter
NumValues=1
DimCount=2
Dim_0=65.000000
Dim_1=122.000000`
    保存文件。 打开您的分析文件。转至 View > Summary Filter,然后点击 确定。您将看到如下所示的稳态时间。

    您应该能够看到稳态数据。

【讨论】:

感谢您的回复!但问题是要了解如何实现自动化? @Kaus 觉得有用请采纳。 我已经在答案中提到了。您需要编写一个宏来获得稳态结果。【参考方案2】:

我现在正在这样做 - 将 LR PC 自动化到我们的管道中。

我正在使用 PC 的 REST API 来触发整理和分析阶段。测试状态完成后,我将下载所有测试结果(results.zip 文件),将其解压缩,打开 .mdb 文件并在内部运行一个胖查询,以完成分析工具所做的事情以及更多工作。

至于稳定阶段 - 抱歉,AFAIK 在这种情况下没有“稳定阶段”这样的术语。如果您正在运行压力测试 - 稳定阶段是什么? :) 我们有一些我们正在使用的测试模板。我正在分析运行结果以查找 VU 编号和持续时间。从这些变量来看,我正在确定是哪个负载测试,然后我知道加速、稳定和 r/dn 持续时间有多长。然后是一些简单的算术等等 - 你已经有了你的稳态时间框架。

您可能会遇到的问题是从 MDB 中提取和转换数据。它有一些令人讨厌的事情要解决。

【讨论】:

以上是关于通过 Rest API 或自动化从性能中心或负载运行器分析中提取稳态性能测试结果?的主要内容,如果未能解决你的问题,请参考以下文章

通过Google Drive REST API上传或创建包含内容的新文件?

rundeck自动化运维

AWS RDS中的负载平衡或只读副本

spring cloud 入门系列六:使用Zuul 实现API网关服务

我应该通过 HTTP 标头或将正文作为 JSON 传递到 REST Api 吗?

通过 rest API 以 0 或 null 形式出现的值对本机/弹簧启动作出反应