79

I'm looking for a freeware / simpler alternative to JMeter. It is a very complete yet complex tool and all I need is to simulate a number of simultaneous calls to a site, grab stats about performance (time to the response) and see how many concurrent calls it can endure without breaking. Some chart thrown in would be useful.

serv-inc
  • 35,772
  • 9
  • 166
  • 188
pistacchio
  • 56,889
  • 107
  • 278
  • 420
  • 1
    recently i used http://locust.io/ hope it will solve your problem – Gomes Oct 06 '15 at 19:30
  • 1
    There has been a [complete overview of all ~50 tools](https://blazemeter.com/blog/open-source-load-testing-tools-which-one-should-you-use) done by Blazemeter. – Pacerier Oct 07 '15 at 04:25
  • OctoPerf has recently **fully tested** [20+ Alternatives to JMeter](https://octoperf.com/blog/2017/11/21/open-source-load-testing-tools/) including Gatling, K6, Locust, Tsung, The Grinder, SoapUI and more. – Jerome L Dec 14 '17 at 09:47

6 Answers6

84

Use Apache Benchmark (ab). It's a command line tool that ships with apache web server. If you're running *nix, chances are it's already installed on your machine. For example, if you want to send 1000 requests to a web server running on localhost using 10 concurrent threads you would do this:

$ ab -n 1000 -c 10 http://localhost/

It'll spit out a nice report giving you interesting stats such as requests per second, number of failures, and much more.

Asaph
  • 159,146
  • 25
  • 197
  • 199
  • 7
    if it's not already installed, you can install with sudo apt-get install apache2-utils – Jason Jun 08 '13 at 09:49
  • 6
    Apache bench covers the most basic case where you just want to bombard a single URL. If you want to do more realistic stress tests, I would recommend Locust (http://locust.io). It's an open-source load testing tool where you define your tests using python code. – heyman May 05 '14 at 19:38
  • 1
    For those who have realized that JMeter is not built for high loads, the choice is between locust.io and Gatling . Of the two, locust is the simpler one as you can get going in no time . Gatling has more possibilities and therefor more complex – binithb Sep 17 '14 at 10:21
  • If you are a command-line geek like me, this is perfect for you. For more info on how to use this: `man ab`. Thank you! – pegasuspect Aug 07 '20 at 16:55
25

Maybe you could try Gatling .

It provides a GUI, recorders, reports (response time distribution, requests per second over time,..),...

I think that the biggest difference between gatling and jmeter is that gatling does not use 1 thread for 1 user, but uses async IO. It could be interesting if you have performance issues whith jmeter (and if you cannot use jmeter in a distributed mode)

Manuel Verriez
  • 669
  • 6
  • 7
14

Try Grinder, it's reasonably simple to use, and can be scripted.

skaffman
  • 398,947
  • 96
  • 818
  • 769
  • 4
    Grinder is as "complex" as jmeter. So i don't think it Will help. –  Aug 06 '12 at 12:36
7

Try jmeter + jmeter plugins code.
It should be as simple as others.

reevesy
  • 3,452
  • 1
  • 26
  • 23
7

Try FunkLoad, a functional and performance testing tool for web apps, written in Python.

Aliaksandr Belik
  • 12,725
  • 6
  • 64
  • 90
  • In addition to that, it requires test cases to be also written in python. In that case, i don't think so it will be viable alternative for jmeter – Amit Jun 28 '12 at 15:15
2

Grinder, Funkload, SoapUI (only for Soap Services), Neoload (for load test), Charles Proxy