(一)利用 Apache JMeter 测试 WebSphere 性能

发表于:2007-7-16 15:47

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

 作者:Greg Herringer    来源:IBM

        如果您预算紧张并且时间紧迫 —— 或者即使您不是这样 —— 那么,您可能希望考虑使用 JMeter 来对 Web 和其他应用程序进行压力测试IBM 的 Greg Herringer 详细描述他使用这个纯 Java 应用程序来测试 WebSphere 中间件解决方案的经历。
        本文描述如何部署 Apache 开放源代码工具 JMeter,以基于 IBM WebSphere Application Server 和 WebSphere Branch Transformation Toolkit(BTT)来测试中间件解决方案的响应性。通过设计性能测试,可以模拟变化的并发用户负载,这些用户负载使用多种交互式金融交换(Interactive Financial eXchange,IFX)请求消息。如果您项目的性能测试预算有限,并且您的解决方案使用 XML 消息,那么在本文结尾所得出的经验可以帮助您计划自己的性能测试策略。
针对高可见性项目的性能测试挑战

        一个金融机构的近期项目需要交付一个中间件基础设施,用于支持增长的应用程序列表,这些应用程序需要访问企业的核心金融系统。该体系结构的方向是要求所有的核心金融系统请求都经由该中间件解决方案,该方案使用基于 XML 的 IFX 消息标准。图 1 显示了与第一个应用程序有关的中间件基础设施(以粗体显示),以及未来的应用程序和后端系统(以灰色显示)。

 

图 1. 待测试的解决方案

                       
        要使得该高可见性项目获得认可,必须演示在各种负载之下的最佳性能。这对于响应时间敏感的客户来说尤为重要,例如联络中心的 CRM 应用程序。另一个需要考虑的问题是,当新的应用程序出现在中间件的“前面”和“后面”时(图 1 中显示了一个位于中间件“后面”的企业和消费者信用卡服务系统的未来实现),需要重用已选择的性能测试方法。

无用户接口

        指定使用中间件基础设施的第一个应用程序是存款处理应用程序,它预定在中间件项目完成之后实现。这意味着测试团队不得不在没有用户接口可以准备和提交中间件请求的情况下模拟生产负载。

有限预算

        金融机构并没有合适的工具集来支持中间件性能测试。因此,这里的挑战是确信地报告已观察到的中间件性能特性,同时将用于工具和准备工作的预算保持最小。

使用 JMeter 救急

        通过研究各种可用的开放源代码测试工具,发现 Apache JMeter 可以支持中间件性能测试需求。 JMeter 提供一个基于 GUI 的应用程序,用于设计和执行多种可重用的测试计划。JMeter 还支持以 XML 格式捕捉测试结果,用于测试后的统计分析。这两个特性帮助测试团队开发和文档化可重复的测试结果,从而满足“高可见性”的挑战。

        许多开放源代码的测试工具是设计用于测试 Web 站点的,并期望测试能够模拟用户与一个或者多个页面或表单的交互。因为在测试中间件解决方案时,应用程序的 Web 接口并不可用,所以已选择的工具必须在没有浏览器交互的情况下支持基于 XML 的消息。JMeter 的 SOAP/XML 请求组件满足该要求。

        最后,由于 JMeter 是 Apache 软件基金会的产品,这个事实意味着该项目并不要求支付商业测试工具的许可证费用,从而满足“有限预算”的条件。

设计测试脚本

        性能测试的目标是,在各种并发负载条件下提交随机选择的、预先定义的、IFX 编码的请求消息,并记录接收到 IFX 编码的响应的耗用时间(elapsed time)。下面五个 JMeter 测试计划组件用于准备性能测试脚本。

测试计划

        这是用于测试的主要组件。在这里,测试名是根据项目的命名约定指定的。同时,选择 Functional Test Mode,以便在由 View Results Tree 管理的测试结果中捕获完整的 IFX 编码的响应。

 

图 2. JMeter 测试计划

               
HTTP Header Manager

        该组件用于指定中间件所需要的 HTTP 头的值。发送到中间件的每个 IFX 编码的请求都将包括这些 HTTP 头的值。

 

图 3. JMeter HTTP Header Manager

              

Thread Group

        该组件按照测试计划的要求进行重复,以模拟一个特定数目的并发用户。例如,模拟 5 个并发用户,需要指定 5 个 Thread Group 。

 

图 4. JMeter Thread Group


               

                                                                                                                             下页链接

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

精彩评论

  • mars
    2007-11-05 16:12:34

    模拟 5 个并发用户,需要指定 5 个 Thread Group ???
    为什么不把Thread Group的Number of Threads 设置成5,把 Ramp Up Period 改成0。。。

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号