30

I'd like some tools for ubuntu that I can use to test my server, how much it can handle.

Any suggestions? I've used apache benchmark before, but I'd like to try out something else.

(As a side question, does apache benchmark work if I'm only using nginx?)

Matthew
  • 1,769
  • 4
  • 21
  • 32

3 Answers3

32

ab only sends web requests, it doesn't care what the server is that it is testing. However, it only tests one page.

There is perfmeter, siege, httpload, jmeter and a number of others.

httpload is rather nice since you can feed it a series of URLs that will be tested.

karmawhore
  • 3,865
  • 17
  • 9
  • 25
    For convenience: [Apache Bench](http://httpd.apache.org/docs/2.2/programs/ab.html), [perfmeter](http://jperfmeter.sourceforge.net/), [siege](http://www.joedog.org/siege-home/), [http_load](http://www.acme.com/software/http_load/), [jmeter](http://jmeter.apache.org/) – Josh Diehl Aug 18 '12 at 05:03
  • 2
    I would recommend [hey](https://github.com/rakyll/hey) as it is very easy to install and use. – Muhammad Hewedy Oct 31 '19 at 08:00
13

ab is too slow for benchmarking nginx. I'd recommend wrk. You can easily build it from source.

VBart
  • 8,159
  • 3
  • 24
  • 25
  • 1
    thank you! exactly what I was looking for. in compare to others tools like this `wrk` does it's job better – Northys Oct 14 '15 at 17:11
10

I'd recommend siege for easy-to-setup load tests. Additional to apache benchmark you can give it a list of URLs to load test against.

A simple command like

siege -d10 -c10 -i -f urls.txt

and a urls.txt like e.g.

http://www.example.com/
http://www.example.com/path1
http://www.example.com/path2

will run a load test with 10 concurrent users (-c10), wait up to 10 seconds between each call and the next (-d10), and takes randomly (-i) an URL from the file (-f).

Kris
  • 201
  • 2
  • 5