创建随机击键的最佳方法,用于使用JMeter对用于数据库支持的quicksearch的webapp进行负载测试

时间:2011-09-05 09:24:42

标签: apache testing random jmeter load-testing

上下文: 我负载测试一个原型企业Web应用程序,可以对大型数据集执行快速搜索。它由数据库支持,并使用servlet支持的JQuery数据,以便在每次击键时缩小结果。

我想了解它在负载下的表现如何,并测量各种负载下的响应时间,稳定性和可用性,并提出SLA。在这种情况下,负载将是许多用户登录,同时键入各种搜索字符串。

工具: 我正在使用Apache Jmeter来做到这一点。

问题: 为了真正使我的负载测试随机化并消除数据库级别(或其他任何地方)的缓存效果,我希望每次搜索的HTTP请求都是随机的。我想做这样的事情:发送一个字符,等待,发送另一个字符,发送退格,发送一个字符,发送两个退格等等。

使用JMeter做这样的事情最优雅/最有效的方式是什么?

现在我正在研究使用CSV数据集并从大文件中读取随机字符,但我想知道是否有更好的方法。

2 个答案:

答案 0 :(得分:1)

我不知道你的用例,但人们似乎不太可能打字随机字符。如果我是正确的,模拟随机击键可能与使用一小组搜索关键字一样具有误导性。

相反,您应该找到或开发一组人们可能会使用的关键字 - 可能是扫描他们将要搜索的内容?然后使用它来填充用户在搜索时输入的内容。

答案 1 :(得分:1)

您可以使用functions.

来实现随机搜索字符串

具体来说,请看RANDOM和CHAR。

基本上,你有类似${__CHAR(${__RANDOM(0,82)})}的东西来生成一个角色。

我还建议您使用包含前100个最受欢迎的搜索字词的CSV文件进行测试。