LoadRunner 中的虚拟 Table 服务器

Virtual Table Server in LoadRunner

我正在从事异步应用程序的性能测试,需要存储执行数据。我开始了解 LoadRunner 中虚拟 Table 服务器组件的可用性。能否请您提供以下说明。

  1. VTS 的底层存储结构是什么table(即..像专有文件/数据库等)
  2. 如果VTS使用了DB,我们可以修改它可以在后台使用的DB吗?
  3. 如果我们继续将数据插入 table,数据库的性能如何?我们计划使用 VTS,脚本每天创建 6600 条记录。请注意,该脚本会在周一至周六运行,以监控应用程序的性能。
  4. 是否可以执行存档和清除?如果是这样,如何在 VTS 上安排这样的 activity。
  5. 使用VTS实现脚本需要考虑的性能和容量问题是什么

VTS 专为测试使用而不是生产使用而设计。你需要一个不同的排队机制。我可以建议以下之一:

  • RabbitMQ
  • 亚马逊简单队列服务
  • 传统关系数据库服务器上的队列table

鉴于您的数量,我衷心建议您检查一下 Amazon 上的简单队列服务。鉴于您的数量,您可能会永远生活在免费层中。虽然每天 6600 条记录的数量对于 VTS 来说不是问题,但您寻求用于生产的管理部分不存在。 RabbitMQ qill 具有许多您需要的生产功能,您可以将它部署在亚马逊、其他云提供商或您自己的网络内部的免费层 VM 中。

我还想记下 Microsoft SQl 服务器上可用的队列 table。为什么我要注意这些与 ORACLE,因为 SQL 服务器在它支持的接口数量上非常混杂,从经典的 dblib 到 odbc,再到 oledb,甚至通过 Web 服务。这可以形成非常优雅的解决方案,可以将其合并到 HP Application Performance Manager (HP APM) 中的监控脚本 运行 中。从管理的角度来看,这也将比 VTS 更强大,这是您在运营基础上所需要的,VTS 是性能测试的战术解决方案。

  1. 我认为是 SQLLite 或 NoSQL
  2. 理论上可以,但最好使用合适的数据库实例。
  3. 即使有数十万条记录和数千个线程查询,VTS 的性能也相当不错。
  4. 您可以使用 Web UI 或命令行导出、导入和清除,但您不能从 Loadrunner 脚本中轻松进行。
  5. VTS 的设计并没有像数据库或消息队列服务那样具有高可用性。它相当基础,缺少很多功能。但它易于设置并处理大量负载。

VTS 只是一个 Web 服务,有 tables 存储为 'instances',每个 table 在不同的端口上。
所有请求和响应都是 JSON。您可以做的请求类型非常有限。
您无法使用内置的 Loadrunner 函数查询整个 VTS table。您一次只能提取一行。

正如 James 提到的那样,使用适当的数据库实例并使用数据库函数来存储和检索数据可能会更好。