LR 自定义日志文件:如何从生成器获取它们?

问题描述 投票:0回答:2

假设我有一个 VUGen C 测试,它将结果写入某个数据日志文件,即它列出了已处理的 ID 或在初始化时创建(或附加)的文件中的类似内容,在主操作中写入,并在关闭时关闭.

然后我想知道是否有 LR 功能可以让我在控制器上找到包含该文件的所有 vuser 副本的统一目录结构?

据我所知,所有 vuser 实例都使用测试目录结构的一个公共副本,位于 temp 中的某处。因此,a) 我需要将 VUser ID 包含到自定义日志文件的名称中,b) 我必须在场景执行后从负载生成器手动收集结果文件,这是一个笨拙的过程。

唯一舒适的选择是将所有已处理的 ID(或其他)报告到 VTS(HP 虚拟表服务器,似乎是免费软件)并从那里获取它们,对吗?然后我还有额外的编码要做。难道没有人错过过VUgen/LR 中的这样一个功能吗?

我希望这不是太离题,因为这个问题不一定与代码相关。

load-testing loadrunner scenarios
2个回答
1
投票

简单,在测试期间使用

lr_output_message()
将自定义日志消息输出到控制器。在测试结束时,只需从输出窗口的导出中转储出所需的日志元素即可。

在测试期间您需要警惕大量日志记录。您可以很容易地将整个磁盘子系统变成测试的瓶颈,如果您在已经很繁忙的主机(例如控制器)上而不是在专用硬件上运行用户,那么这是双重的。使用

lr_output_message()
可以从虚拟用户主机注销并将其移至控制器进行日志记录。

请务必包含一个参考或控制生成器,每种类型仅部署一个虚拟用户(与其余生成器匹配的硬件),以检查磁盘子系统是否成为瓶颈。

此外,如果您想在测试结束时恢复数据,并想完全考虑使用解耦主机,您可以查看 K Sandell 对公共主机/位置的 UNC 路径的建议,但需要管理的情况更加复杂如果要访问公共文件,则与其他虚拟用户锁定,或者只是在测试中包含另一个目标,例如 VTS、许多基于 Java 的消息队列解决方案中的任何一个,甚至是具有轻量级前端的 MySQL,只需使用以下命令将数据推送到表中一个表格。


0
投票

无论是 Performance Center 还是独立版,我们执行此操作的方法都是拥有可由脚本映射的 UNC 路径。然后我们在那里创建/写入/读取文件。

这允许从多个负载生成器运行脚本,而无需在测试后将任何文件复制到任何地方,并且还为我们提供了一个通用存储空间,我们可以在其中加载所有脚本所需的 DLL 和其他文件。

请注意,从两个不同的 vuser 创建/写入同一文件将不起作用,您应该创建 vuser_id 特定名称或使用数据库来存储数据。 DB 选项要求您手头有一个第 3 方 DB 库 (DLL) ..

© www.soinside.com 2019 - 2024. All rights reserved.