不幸的是,JMeter 的错误报告功能不那么强大。实际上,在我使用这个工具的时候,我以为错误报告功能起作用,而实际上它没有。因此,您应当考虑使用 断言(assertions)特性。断言允许 JMeter 用户审核数据库服务器的响应,并“断言”响应中确实存在某项数据。
在我们进行断言之前,需要知道我们想从查询中得到什么结果。我们可以在命令行处理器中运行查询,得到我们想要的结果,如 图 9 所示。
要添加断言,需要右击 JDBC Request,然后选择 Add => Assertions => Response Assertion,如 图 10所示。
您可以在该屏幕中添加文本断言。单击 Add ,然后在 Patterns to Test 字段中添加文本 Col1Test-20015
,因为我们知道在返回结果中应当包含该文本(参见 图 11)。
现在,我们要添加一个监听器,以监听响应断言。右击 JDBC Request,然后选择 Add => Listener => Assertion Results,如 图 12所示。
这样您就可以看到断言结果屏幕( 图 13),您甚至可以在该屏幕中指定一个数据文件,把断言数据写入数据文件。
现在,当您运行测试对象的时候,您应该看到用否定或肯定断言填充的断言结果屏幕,是肯定还是否定则取决于是否满足断言中的条件。
图 14 显示的是成功的断言
如果修改断言,查找 Col1Test-40000
(我们知道数据库数据中没有这个文本),那么我们将得到类似 图 15所示的屏幕。
可以利用 JMeter 在系统、服务器和网络上模拟繁重的负载。本文中,我们用 JMeter 分析了 DB2 数据库的查询性能。我们只触及到 JMeter 功能中很表面的部分。可以用 JMeter 来建立相当复杂却很有意义的测试计划。JMeter 会以图形和活动曲线的形式,快速提供关于系统性能的可视反馈。您可以用 JMeter 提供的数据来确保能够在调整您的企业运作的情况下获得非常好的性能。
感谢 IBM 多伦多实验室的 Larry Menard 和 Robert,感谢他们在 JDBC 上的专长,以及他们对本文的帮助。