如果您预算紧张并且时间紧迫 —— 或者即使您不是这样 —— 那么,您可能希望考虑使用 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 显示了与第一个应用程序有关的中间件基础设施(以粗体显示),以及未来的应用程序和后端系统(以灰色显示)。
要使得该高可见性项目获得认可,必须演示在各种负载之下的最佳性能。这对于响应时间敏感的客户来说尤为重要,例如联络中心的 CRM 应用程序。另一个需要考虑的问题是,当新的应用程序出现在中间件的“前面”和“后面”时(图 1 中显示了一个位于中间件“后面”的企业和消费者信用卡服务系统的未来实现),需要重用已选择的性能测试方法。
指定使用中间件基础设施的第一个应用程序是存款处理应用程序,它预定在中间件项目完成之后实现。这意味着测试团队不得不在没有用户接口可以准备和提交中间件请求的情况下模拟生产负载。
金融机构并没有合适的工具集来支持中间件性能测试。因此,这里的挑战是确信地报告已观察到的中间件性能特性,同时将用于工具和准备工作的预算保持最小。
通过研究各种可用的开放源代码测试工具,发现 Apache JMeter 可以支持中间件性能测试需求。 JMeter 提供一个基于 GUI 的应用程序,用于设计和执行多种可重用的测试计划。JMeter 还支持以 XML 格式捕捉测试结果,用于测试后的统计分析。这两个特性帮助测试团队开发和文档化可重复的测试结果,从而满足“高可见性”的挑战。
许多开放源代码的测试工具是设计用于测试 Web 站点的,并期望测试能够模拟用户与一个或者多个页面或表单的交互。因为在测试中间件解决方案时,应用程序的 Web 接口并不可用,所以已选择的工具必须在没有浏览器交互的情况下支持基于 XML 的消息。JMeter 的 SOAP/XML 请求组件满足该要求。
最后,由于 JMeter 是 Apache 软件基金会的产品,这个事实意味着该项目并不要求支付商业测试工具的许可证费用,从而满足“有限预算”的条件。