We earn commission when you buy through affiliate links.
This does not influence our reviews or recommendations.Learn more.
Do you know your websites average response time?
Do you know how many concurrent users your site can handle?
Load testing is essential for web applications to know websitecapacity.
Ive used Apache & Nginx web server hosted onDigitalOceanto test it.
ApacheBench
ApacheBench(ab) is an open-source command-line program that works with any web server.
Apache
Lets get ApacheBench installed by using a yum command.
If you already have httpd-tools, then you may ignore this.
Now, lets see how it performs for 5000 requests with a concurrency of 500.
Did you see that?
Nginx handled6593 requests per second!
The above test is on CentOS 6.8, 64 bit.
you’re able to try multiple combinations of OS & Web Server version for the optimal results.
Dont like ApacheBench for whatever reason?
SIEGE
SIEGEis an HTTP load test utility supported on UNIX.
you could put multiple URLs in a text file to load tests against.
it’s possible for you to install siege using yum.
Lets trigger the test with 500 concurrent requests for 5 seconds.
To break down the parameters.
it’s possible for you to tweak the load test parameter based on your goal.
Ali
Aliis a relatively new load testing tool to perform real-time analysis.
It supports multiple platforms to install, including Docker.
Once installed, executealito see the usage details.
I did a quick test onGeekflare Toolsand here is the output looks like.
The report is interactive and gives detailed latency information.
Gobench
Gobenchis written in Go language and simple load testing utility to benchmark the web server performance.
It supports more than 20,000 concurrent users which ApacheBench doesnt.
Apache JMeter
JMeteris one of the most popular open-source tools to measure web program performance.
ASP.net, SOAP, REST, etc.
You must give a take a stab at JMeter if your goal is to optimize the web app performance.
Lets take an example of running a test for 5 minutes with 500 concurrent users with 8 threads.
Autocannon
Inspired by work,autocannonis written in Node.js.
you’ve got the option to use it programmatically, through API or standalone utility.
All you need is NodeJS installed as a prerequisite.
Curl-loader
curl-loaderis written in C to simulate system load, and it supports SSL/TLS.
httperf
Thehttperfis a high-performance tool that focuses on micro and macro-level benchmarks.
It supports HTTP/1.1 and SSL protocols.
The above command will test with 100 requests per second for 1000 HTTP requests.
It supports HTTP/1.0, HTTP/1.1, and cookies are automatically handled.
Generating a report is feasible with Tsung.
Next, dont forget tomonitor your website performance.