WAS 5.x中数据源的配置使用及常见问题

发表于:2007-10-22 13:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

4. JMeter Thread Group

  
  111

  注意,Thread Group 组件具有一个标签为 Number of Threads 的域,用于控制与一个 Thread Group 相关联的线程数目。由于每个 Thread Group 具有一个惟一的随机选择的 IFX 编码的请求集合(请参阅下面的 SOAP/XML-RPC Request),因此决定将每个 Thread Group 限制为一个线程。如果对于一个或者多个 Thread Group 指定多个线程,那么相同的消息集合将会被发送多次,这将违背随机选取准则的目标。
  
   SOAP/XML-RPC Request
  针对每个 Thread Group 所发送的期望数目的 IFX 编码请求,重复该组件。实际的 IFX 编码的请求是在该组件中指定的。
  
  
图 5. JMeter SOAP/XML-RPC Request

  
  22

   View Results Tree
  该组件服务于两个目的。当测试执行时,该用户接口显示消息被发送和接收的测试过程。而且,该组件将测试结果写入到一个文件,用于测试后的分析。
  
  
图 6. JMeter View Results Tree

  
  1111

   JMeter 测试计划被设计用于模拟多种并发用户负载,从单一用户到最大为 80 个并发用户。对于所有的测试计划,上面所描述的五个组件以一致的方式进行部署,从而简化了性能测试的执行。
  
  构建测试脚本
  一旦已经确定所需的 JMeter 组件并且已经构思好一个通用的测试计划设计,就必须构建测试脚本了。幸运的是,System Integration Test (请参阅 参考资料)中有超过 300 个 IFX 编码的模型请求消息和相关的测试数据可以重用。相应的挑战是准备测试脚本可以发送多达 8000 个(对于 80 个线程,每个线程 100 个)随机选择的请求消息。这些消息是随机选择的,从而更好地接近生产条件的稳定状态,生产条件下没有一个请求类型可能会比其他类型提交得更多。单独使用 JMeter 用户接口,将意味着手工剪切和粘贴消息到 8000 个 SOAP/XML-RPC Request 中。为了使得该任务进一步复杂化,根据金融机构的 IFX 规范,每个请求还要求惟一的 RQUID。
  
  自动创建测试脚本
  正如已经提到的,该项目的性能测试方法将针对未来的中间件版本进行重用。因此,测试团队投入一些精力准备一个 Java 应用程序,用于根据指定的参数输出 JMeter XML 编码的测试脚本。该 Java 应用程序称为 Scripter,它可以准备一个性能测试脚本,该脚本具有指定数目的线程并且每个线程具有指定数目的 IFX 编码的消息,由应用程序随机选择。IFX 编码的消息来源于一个消息集合,该集合在 Scripter 的属性文件所指定的目录中提供。
  
  从本文 参考资料 小节中的链接,您可以下载 Scripter Java 应用程序的源代码和用法说明。
  
  执行测试
   JMeter 安装在一个 双通道的 IBM eServer? xSeries? 360 服务器上,该服务器具有 2 GB RAM 并且运行 Windows? 2000。图 7 显示测试配置。
  
  
图 7. JMeter 性能测试配置

  
222

  当测试执行时,IFX 编码的响应被记录,从而可以分析包含在中间件响应中的捕获到的 MQ Time 和 Total Time 度量。还可以分析 JMeter 观察到的 JMeter Time,尽管该数字还包括在中间件和 JMeter 之间的网络延迟。
  
  测试团队执行三个性能测试周期,在前两个周期之后通过修改和配置调整从而改进应用程序的性能。
  
  分析结果
  测试团队使用 Microsoft? Excel 电子数据表来导入测试结果,并且针对上面描述的耗用时间度量执行统计运算。然后,结果被图形化,从而显示该应用程序对于大多数测试条件提供的次秒级(sub-second)响应性。
  
  获得的经验
  总的说来,JMeter 作为该项目的性能测试工具是一个极好的选择。下面所获得的经验提供另外的细节。
  
   JMeter 满足我们的需要
   JMeter 易于安装并且具有中等的认识复杂度(请参阅下一条经验)。所选择的 JMeter 组件针对所有的性能测试脚本提供了一个公共的结构。测试结果的 XML 编码输出对于测试后分析是一个方便的特性,因为该选项捕获了包含在 IFX 编码的应答消息中的性能统计。
  
   JMeter 用户应该具有技术能力
  为了正确地准备性能测试脚本,脚本开发人员必须很好地理解使用 HTTP 和 XML 协议的分布式应用程序。商业用户可能发现难以使用各种 JMeter 组件的技术规范。
  
   创建大的脚本可能需要额外的自动化处理
  我们的性能测试特性(随机的消息选取,并发性,以及包含在每个 IFX 编码的请求中的惟一值)要求一个自动化的方法产生测试脚本。幸运的是,测试团队具有足够的 Java 技术能力使得该任务自动化。对于具有类似需要的人,本文的末尾提供了该应用程序。
  
  如果时间(和能力!)允许的话,团队还可以开发一个新的符合该项目需要的 JMeter 组件,并且将该组件提交给 Apache 组织。
  
   定制的性能度量可以帮助确定问题
   JMeter 应用程序可以测量在传输 IFX 编码的请求和接收 IFX 编码的应答之间的耗用时间。然而,该度量并不提供有关该分布式中间件解决方案所存在的潜在瓶颈的内部信息。中间件开发团队提供另外的性能度量,将用于主机通信、消息分析的耗用时间与用于事务处理的中间件耗用时间隔离开来。这些度量作为 XML 注解包含在 IFX 编码的应答中。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号