开源负载测试框架

时间:2011-04-26 02:28:03

标签: testing

我正在寻找一个维护良好的开源框架来加载测试http服务。如果我可以创建任意HTTP请求,控制请求率并绘制资源消耗随时间变化,那将是很好的。理想情况下,它会使用SNMP从正在测试的远程服务器收集数据。

9 个答案:

答案 0 :(得分:16)

Apache JMeter适用于负载测试。 http://jmeter.apache.org/具有许多功能和良好的图形用户界面。试一试。

许多Linux发行版和OS X中捆绑的另一种替代方法是ab工具。

还有另一个名为boom的程序,最初是用Python编写的(https://github.com/tarekziade/boom),然后是Go(http://msdn.microsoft.com/en-us/library/system.codedom.codecompileunit(v=vs.110).aspx)。

但JMeter在所有人中都有很多功能和奇特的报道。

答案 1 :(得分:5)

可能你可以用ab? (apache基准)

ab -c 100 -n 1000 http://yoursite.com/your_page.html

将100个请求并行运行1000次请求。

答案 2 :(得分:3)

我曾经使用apache bench(ab),但我最近搬到了httperf,并且对此非常满意。

答案 3 :(得分:2)

loadUI怎么样?我已经使用过几次了,它可以处理各种Web服务类型。我认为相当不错的软件; - )

答案 4 :(得分:2)

The Grinder也是一个很好的基于开源Java的负载测试框架。

  • 您可以使用Python或Clojure编写测试脚本。
  • 它有像JMeter一样不错的Swing GUI。
  • 您可以运行多个负载注入实例,为您提供分布式负载测试框架。
  • 它是可扩展的,因为它有一个插件系统。

答案 5 :(得分:2)

欢迎来到Gatling.io的世界。

这是迄今为止我遇到的最好的开源负载测试框架。 优点 -

  1. 可以使用Gatling脚本框架或Scala构建测试场景。
  2. 运行测试用例后的清晰,详尽,动态和丰富多彩的HTML报告 - >分析很有帮助。
  3. 它提供了高性能。
  4. 还支持HTTP,WebSocket协议和JMS支持。任何其他协议实现都是完全可能的。
  5. Gatling的架构是异步的,基于消息的。因此,不为数以千计的单独用户创建线程,使其资源便宜。可以轻松地同时运行数千个用户。 - > 这使得它比其他开源负载测试框架更好。
  6. 也可以进行实时监控。
  7. 文档很好,很有帮助。

答案 6 :(得分:1)

如果您碰巧使用Visual Studio,则无需搜索“开源”解决方案,因为您已包含内置解决方案。开箱即用,它允许您编写代码 “创建任意HTTP请求”,“控制请求率”和“随时间推移绘制资源消耗图”,还包括可用于跨多个服务器分配负载生成的代理。我喜欢它。

参见介绍here

答案 7 :(得分:1)

Yandex.Tank是负载测试的框架。特性:

  • 它具有基于模块化插件的架构,因此可以根据需要轻松扩展它
  • 您可以使用不同的负载生成器(其中包括JMeter)
  • 有一个report插件。
  • Autostops。您可以在不同条件下自动停止测试。
  • HTTP API server
  • InfluxDB和Graphite support

答案 8 :(得分:-1)

我认为最好的选择是使用Taurus - 这是一个开源框架,允许您运行许多负载测试工具,如JMeter,Grinder,Gatling,Apache Benchmark等。 关于Taurus的一个很酷的事情是你可以获得每个开源工具的功能,你可以使用YAML或JSON格式轻松创建测试场景!