JMeter与The Grinder?

时间:2009-07-30 23:22:19

标签: performance http

我正在考虑对我们的网站进行压力测试,并且无法选择合适的工具。

在我看来,最流行的两个是JMeter和The Grinder。任何人都可以帮助理由支持吗?

谢谢!

6 个答案:

答案 0 :(得分:10)

我和The Grinder一起工作过,我喜欢它有三个主要原因。

  1. 这是免费的。我从你的问题中假设,你只是在寻找免费的解决方案。还有一些优秀的商业产品,但大多数时候,我无法证明成本合理
  2. 在其他计算机上启动进程很容易。当我真的试图加速集群上的负载时,我需要轻松地将负载分配给远程机器。 Grinder非常适合。
  3. 脚本都是Jython。这使我可以轻松地自定义我的脚本,以编程方式调整我的脚本(例如随机化某些路径)。
  4. 我很长一段时间没有使用过JMeter,所以我不能权威地说它在第2点和第2点的比较。 3。

答案 1 :(得分:5)

从Jmeter开始:

  • 它是免费的。

  • 很容易在其网站和互联网上开始提供大量文档

  • 它具有代理功能,可以从浏览器导航轻松创建测试计划

  • 在其他计算机上启动进程很容易。它可以通过GUI或控制台进行远程测试。

  • 脚本可以用beanshell,java或任何jsr223语言编写(groovy,Javascript,scala,jexl ......)

  • 它有很多内置的采样器,并且由于它的插件架构,很容易添加新的或使用任何脚本引擎来做缺少的事情

  • 它有很棒的用户邮件列表

  • 它有非常反应性的支持

  • 它现在是一个顶级的Apache项目

  • ...

答案 2 :(得分:5)

使用gatling。

http://gatling-tool.org/

它可爱,优秀的DSL,您只需编辑.scala文件并重新运行,它将根据需要为您编译。还发出非常好的图表

http://gatling-tool.org/sample/index.html

答案 3 :(得分:4)

如果你不熟悉Jython(就像我不熟悉的那样)那么Grinder(TCP代理或某些名称)附带的小工具也可以让你在webapp中点击并保存您的操作是Grinder的现成Jython脚本,然后您可以根据需要进行分析/编辑/采用。

答案 4 :(得分:4)

excellent blog post描述

加载测试工具:

  • Grinder 3.11
  • Gatling 2.0.0.M3a
  • Tsung 1.51
  • JMeter 2.11

    1. 磨床

      Grinder由两个主要部分组成:

      • Grinder控制台 - 这是一个GUI应用程序,可以控制各种Grinder代理并实时监控结果。控制台可用作编辑或开发测试套件的基本IDE。
      • 研磨剂 - 这些是无头负载发生器;每个人都可以有多个工人来创建负载

      研磨机的主要特点:

      • TCP代理 - 将网络活动记录到Grinder测试脚本中
      • 分布式测试 - 可以随着代理实例数量的增加而扩展
      • Python或Closure的强大功能与任何用于测试脚本创建或修改的Java API相结合
      • 灵活的参数化,包括即时创建测试数据以及使用外部数据源(如文件,数据库等)的功能。
      • 后处理和断言 - 完全访问相关和内容验证的测试结果
      • 支持多种协议
    2. Apache JMeter

      JMeter的主要特点:

      • 跨平台。 JMeter可以在任何带有Java的操作系统上运行
      • 可扩展的。当您需要创建比单个机器更高的负载时,JMeter可以在分布式模式下执行 - 这意味着一台主JMeter机器将控制多个远程主机。
      • 多协议支持。以下协议都支持“开箱即用”:HTTP,SMTP,POP3,LDAP,JDBC,FTP,JMS,SOAP,TCP
      • 采样器周围的前后处理器的多种实现。这提供了高级设置,拆卸参数化和相关功能
      • 定义标准的各种断言
      • 多个内置和外部侦听器,用于可视化和分析性能测试结果
      • 与主要构建和持续集成系统集成 - 使JMeter性能测试成为整个软件开发生命周期的一部分

答案 5 :(得分:2)

我刚刚完成了尝试两者的过程,我完全赞同Rob在这里。磨床似乎也更快,我真的很喜欢它与Jmeter相比简单轻巧。 grinder.properties文件非常易于使用,特别是如果你更像是一个控制台人员而不是UI人员。