JMeter versus The Grinder? [closed]

2020-05-25 17:52发布

问题:

I'm looking at stress testing our website and having trouble picking the right tool.

It looks to me like two of the most popular are JMeter and The Grinder. Can anyone help with reasons in favor of either?

Thanks!

回答1:

I have worked a bunch with The Grinder and there are three main reasons I like it.

  1. It's free. I assume from your question, you are only looking at free solutions. There are some excellent commercial products as well, but most of the time, I cannot justify the cost
  2. It is easy to start up processes on other machines. When really trying to crank up load on a cluster, I need to easily distribute the load out to remote machines. Grinder is great for that.
  3. The scripts are all Jython. That allows me to easily customize my scripts to programatically tweak my scripts (e.g. randomize certain paths).

I haven't used JMeter in a long time, so I cannot say authoritatively how it compares on points 2 & 3.



回答2:

As of Jmeter:

  • It's free.

  • it's easy to Start with lot of documentation on its Website and on internet

  • it has a proxy feature to easily create test plan from browser navigation

  • It is easy to start up processes on other machines. It remote testing, can be done from GUI or console.

  • The scripts can be written in beanshell, java, or any jsr223 language ( groovy, Javascript, scala, jexl ...)

  • it has a lot of built- in samplers and thanks to its plugin architecture it's very Easy to add new ones or use any scripting engine to do what's missing

  • it has great user mailing list

  • it has very reactive support

  • it's now a top Level Apache project

  • ...



回答3:

Use gatling.

http://gatling-tool.org/

Its lovely, great DSL, and you can just edit the .scala files and rerun and it will compile for you on demand. Also emits very nice graphs

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



回答4:

If you're not familiar with Jython (like I wasn't) then there is also a great little tool that comes with Grinder (the TCP Proxy or some such name) that allows you to click around in a webapp and save your actions as a ready-made Jython script for Grinder, which you can then analyse/edit/adopt as necessary.



回答5:

There is an excellent blog post that describes

Load Test Tools:

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

    1. The Grinder

      The Grinder consists of two main parts:

      • The Grinder Console - This is GUI application which controls various Grinder agents and monitors results in real time. The console can be used as a basic IDE for editing or developing test suites.
      • Grinder Agents - These are headless load generators; each can have a number of workers to create the load

      Key Features of the Grinder:

      • TCP proxy - records network activity into the Grinder test script
      • Distributed testing - can scale with the increasing number of agent instances
      • Power of Python or Closure combined with any Java API for test script creation or modification
      • Flexible parameterization which includes creating test data on-the-fly and the capability to use external data sources like files, databases, etc.
      • Post processing and assertion - full access to test results for correlation and content verification
      • Support of multiple protocols
    2. Apache JMeter

      Key Features of the JMeter:

      • Cross-platform. JMeter can be run on any operating system with Java
      • Scalable. When you need to create a higher load than a single machine can create, JMeter can be executed in a distributed mode - meaning one master JMeter machine will control a number of remote hosts.
      • Multi-protocol support. The following protocols are all supported ‘out-of-the-box’: HTTP, SMTP, POP3, LDAP, JDBC, FTP, JMS, SOAP, TCP
      • Multiple implementations of pre and post processors around sampler. This provides advanced setup, teardown parametrization and correlation capabilities
      • Various assertions to define criteria
      • Multiple built-in and external listeners to visualize and analyze performance test results
      • Integration with major build and continuous integration systems - making JMeter performance tests part of the full software development life cycle


回答6:

I just went through the process of trying at both and I would totally agree with Rob here. Grinder also seemed faster, and I really like how simple and lightweight it is compared to Jmeter. The grinder.properties file is totally easy to use, especially if you're more of a console guys then a UI guy.