2014-11-01 36 views
0

我需要使用jMeter进行一系列数据库性能测试。jMeter数据库负载测试:随机化查询谓词

该数据库拥有约3200万个账户和约150亿笔交易。 我用一个SELECT语句和一个硬编码的vAccountNum配置了一个JDBC连接配置和一个JDBC请求,并且这个工作正常。

SELECT COL1,COL2,COL3,COL4,从那里账户= vAccountNum

我需要衡量有多少结果集可以在5分钟1届会议上完成交易COL5;然后添加会话并调整直到服务器资源耗尽。 什么是随机化vAccountNum的最佳方式,以便我可以得到平等分配的帐户返回?

回答

0

根据什么类型vAccountNum是选择是:

  • 各种JMeter功能类似于
    • __Random功能 - 定义的范围内产生随机数
    • __threadNum功能 - 返回当前线程的数量( 1为第一个线程,2为第二个,等等)
    • __counter函数 - 一个简单的计数器正在增加1 eac h时间被称为
  • CSV Data Set Config - 从CSV文件中读取预定义的vAccountNum值。在这种情况下,请确保您提供了足够的帐号,这样您就不会用可能从缓存中返回的相同查询来敲击服务器。
+0

谢谢。我使用了这些功能,并且按照您所描述的那样工作。我没有使用__Random,而是创建了一个包含100万账号的CSV文件(使用Pythons Random()),然后使用CSV数据集配置来读取这些文件并将它们分配给一个变量,并将其替换为账号。使用一组50k账户和可变数量的线程(10,20-60),我可以返回可重复,一致的测试结果。吞吐量以每秒2400个查询达到峰值。 – MarkTeehan 2014-11-04 02:21:18