2014-12-03 47 views
1

我想对具有高有效负载http请求的应用程序进行负载测试。
面临的问题: -
1)当我把这样一个高载荷的Jmeter挂起来。

2)Apache基准ab - 脚本: -
ab -c 1 -n 1 -v 4 -t 80000 -p payload.json -r localhost:8080/Scheduler-rest/schedule
我不知道为什么它发送无限数量的请求c和n的任何值。

3)邮差客户端: - 我用它发送一个或两个请求,但邮差不接受如此高的有效载荷。用于在高有效负载(500kb或更多)下执行Http请求的负载测试的工具

所以任何人都可以提出一些建议吗?

感谢

+0

您是否尝试过使用在不同机器上运行的多个JMeter客户端进行相同的测试? – 2014-12-03 12:36:06

+0

不,我还没有尝试过这种方法。 – 2014-12-03 12:37:20

+0

我认为这应该工作。因为我不确定你打的是什么样的有效载荷,以及你如何创建/添加有效载荷来请求,从而建议你分配JMeter客户端选项。先尝试一下,如果解决了问题就足够了。 – 2014-12-03 12:40:27

回答

2

JMeter用户应该能够发送毫不逊色请求/秒比其它工具做,但是你需要:

  1. 运行它在非GUI模式
  2. 删除所有监听
  3. 调整默认JVM堆和垃圾收集设置
  4. 它可以在分布式模式下运行时的JMeter 1个主实例控制多个从属

参见以下资源的详细说明:

+0

非Gui模式为我工作 – 2014-12-04 05:16:11

1

您可以使用Blazemeter或Neoload工具,这将使你跑这么重的测试场景。 在Blazemeter中,您可以指定no。具有用户分布和目标站点的节点。这同样会在目标网站上产生负载。

类似的东西也可以通过Neoload完成。 他们两个的缺点是在一个没有。的用户按用户收费。

你也可以使用分布式Jmeter客户端,如果你有自己的一套机器。

0

我们已经成功运行的JMeter从1件(双核2GB内存)与GUI模式本身300个线程。

从应用程序的响应总是有延迟的可能性,这会使jmeter的线程等待并挂起。它能够更好地分步走(我给的Windows PC的一般步骤,你可能会发现其他OS类似)

  1. 尝试调整JVM堆和垃圾设置由德米特里
  2. 调整TCP参数告诉(如果你使用远程网络服务器,你也需要调整它)。http://support.microsoft.com/kb/314053(TCP自动调谐在Windows 7中提供)
  3. 检查您的网络适配器设置(全双工) http://msdn.microsoft.com/en-us/library/cc339518(v=vs.90).aspx
  4. 检查您的数据源设置的Web服务器有足够的处理传入的负载
  5. 分步走(测试10, 50100200300个线程逐个)
  6. 不要对负载测试(使用它们来检查,如果你的CRIPT期间intail测试,但真正的负载测试表现良好,其不推荐使用响应断言)
  7. 调整所有图层后,仍你有问题(或)想尝试更多的用户,使用非GUI GUI de /分布模式。

我的2美分 - 没有调整测试环境,任何工具都很难给出响应。