HTTP - Benchmark (Download - Get / Upload - Put request)

About

Web Server benchmarking.

See also: Web - Page Load Time (Speed|Performance)

Software

Throughput

Http request

HTTP - Request

Wrk

https://github.com/wg/wrk

wrk -c50 -d2m --latency -H 'Accept-Encoding: gzip, deflate, br' http://testmachine.com:8080/large
Running 2m test @ http://testmachine.com:8080/large
2 threads and 50 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 412.75ms 123.88ms 1.20s 84.45%
Req/Sec 60.65 15.89 101.00 65.26%
Latency Distribution
50% 387.97ms
75% 421.85ms
90% 511.70ms
99% 858.45ms
14545 requests in 2.00m, 738.39MB read
Requests/sec: 121.18
Transfer/sec: 6.15MB

Plow

https://github.com/six-ddc/plow

plow http://127.0.0.1:8080/hello -c 20
Benchmarking http://127.0.0.1:8080/hello using 20 connection(s).
@ Real-time charts is listening on http://[::]:18888

Summary:
  Elapsed        8.6s
  Count        969657
    2xx        776392
    4xx        193265
  RPS      112741.713
  Reads    10.192MB/s
  Writes    6.774MB/s

Statistics    Min       Mean     StdDev      Max
  Latency     32µs      176µs     37µs     1.839ms
  RPS       108558.4  112818.12  2456.63  115949.98

Latency Percentile:
  P50     P75    P90    P95    P99   P99.9  P99.99
  173µs  198µs  222µs  238µs  274µs  352µs  498µs

Latency Histogram:
  141µs  273028  ■■■■■■■■■■■■■■■■■■■■■■■■
  177µs  458955  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  209µs  204717  ■■■■■■■■■■■■■■■■■■
  235µs   26146  ■■
  269µs    6029  ■
  320µs     721
  403µs      58
  524µs       3

Apache Bench (ab)

Apache Bench 1) is a command line program bundled with Apache HTTP Server.

Example: 100 HTTP GET requests, processing up to 10 requests concurrently

ab -n 100 -c 10 "http://en.wikipedia.org/wiki/Main_Page"

It handles HTTP 'get' requests very well, and can be made to handle HTTP 'post' requests with a little effort. Written in 'C', it performs very well, and offers good (if basic) performance reporting.

Jmeter

JMeter

HttpUnit

It is a library (and therefore of more interest to developers) that can be used to perform HTTP tests/benchmarks. It is intended to be used instead of a web browser (therefore no GUI) in conjunction with JUnit .

HP Load Runner

performance testing product

Documentation / Reference





Discover More
Web - Framework

This framework provides an http server with at minimal a routing capability and adds above other features such as: templating authentication Framework Description Languages Vertx The reactive...



Share this page:
Follow us:
Task Runner