2013-03-01 53 views
0

我有一个场景,需要加载转轮给我一个特定格式的报告。需要使用负载转轮的解决方案

场景:我有一个包含1000个SQL的Excel工作表。每行有1个SQL。我希望加载运行者选择这个SQL并且同时运行它与不同的用户(一次说3个用户)。例如,User1选择SQL1,User2选择SQL2 & User3选择SQL3。现在,第一个完成的用户将选择下一个SQL,例如User2完成,然后它将选择SQL4等等,直到所有SQL耗尽。

报告:在最终报告中,我需要以下内容: 对于每个执行SQL,SQL,开始时间,结束时间,响应时间的SQL用户。 对于所有SQL(总体):CPU使用情况,内存使用情况,服务器的磁盘使用情况。 报告格式可以是任何内容,txt或excel。

感谢, 阿洛克

回答

0

自然而然的问题是,鉴于这是您的第一个问题,您对该工具的培训水平是什么?该解决方案集利用参数化引擎,该引擎作为该工具培训的一部分被广泛覆盖,以及交易时间模型,该模型也作为标准产品培训的一部分进行了介绍。如果你被要求在没有工具,过程和指导阶段的培训的情况下完成这个任务,那么你的成功几率渐趋接近零。

解决方案路径:VB Template虚拟用户。您需要验证您的许可证允许使用模板虚拟用户选项。这也是一个程序化的解决方案,所以你需要有适当的VB技能。使用Java虚拟用户和C虚拟用户也可以完成同样的任务。标准数据库虚拟用户在这里并不合适,因为您在结果集中具有大概不同数量的SQL的SQL,因此您需要一个解决方案集,以便在收到结果时具有灵活性,而不是在本机中找到的硬编码期望模型数据库虚拟用户。

有两列的参数文件:列1是事务的短名称,列2是查询。在您的虚拟用户中分配唯一的SQL查询。

你的虚拟用户P码

Init 
{ 
Establish connection to the database server 
} 

Action 
{ 
Rendezvous (policy, wait for at least 3) 
delay a random number of milliseconds between 250 and 500 to account for human chaotic behavior 
Start Transaction (Column 1) 
Run My Query (Column 2) 
Logic to pass pass|fail of transaction (End Transaction - PASS|FAIL) 
} 

End 
{ 
Close my database connection 
} 

你应该知道,用户不会,每个人都做了准确地在同一时间同时的基础上运行。可能有用户在彼此之间并发运行,但是同时进行的同时性却是每个人在同一时间做同样的事情需要与时钟同步。人类是混乱的仪器,并没有与其他人同步的内部时钟。

对于与您的SQL绑定的CPU,磁盘和其他指标,您将希望利用可用于数据库平台的SQL分析工具。对于ORACLE来说,这是一个AWR报告。对于Microsoft SQL Server,它是适合命名的SQL Profiler工具。 Sybase,DB2,MySQL等......都具有相同的工具功能,只是将其从管理工具箱中挖出来。

如果您只是想在测试期间监控服务器,那很简单。查看SiteScope与LoadRunner的集成。从版本8.1开始,每个版本的LoadRunner随附500个Sitecope。您还可以直接查询表,例如ORACLE中的V $表或Microsoft/Sybase SQL服务器中的系统表,然后为希望跟踪的信息创建数据点。

0

你是说你创造了这个方案,并与它有麻烦?如果是这样,你遇到了什么问题?或者你问这是否可能?

您描述的场景当然是可能的,您可以在脚本的参数列表中设置一个完整的SQL命令的数据文件,并使用'Unique'设置来划分运行的SQL语句并确保它们不会' t使用相同的。也可以在LoadRunner中创建自定义报告输出。您可以在脚本中创建函数以使用lr_user_data_point()函数输出自定义报告数据。输出看起来像分析工具中的任何其他时间线数据跟踪报告。

0

点击浏览器中的参数选项,现在点击新的参数并将其命名为sql查询。

  1. 点击编辑记事本
  2. 填充你的SQL查询。
  3. 保存并将参数设置保存为唯一的每次迭代,并在其下方中止vuser。 4现在,每个用户都会根据自己的喜好逐个挑选唯一的值,如果用完的值将停止运行