Skip to content

HTTP server benchmarking

Posted on:April 16, 2022

Table of contents

Open Table of contents

wrk is awesome, 🤔but…

Frustratingly, it doesn’t run on Windows,so an alternative is needed; fortunately, hey is a cross-platform tool that can be a nice replacement for wrk.

installation

Download links are given here, after saving it to your machine, don’t forget to rename the binary file with .exe-suffixed (on Windows).

Then add the installation directory to your Path and you are done.

benchmarking

just type the follwing into your terminal:

# http://localhost:3000 is the url that you want to benchmark
hey http://localhost:3000

This is the test result of Next.js 13 on my machine:

PS C:\Windows\system32> hey -n 800 -cpus 16 http://localhost:3000

Summary:
  Total:        2.1855 secs
  Slowest:      0.3913 secs
  Fastest:      0.0266 secs
  Average:      0.1309 secs
  Requests/sec: 366.0515


Response time histogram:
  0.027 [1]     |
  0.063 [26]    |â– â– 
  0.100 [43]    |â– â– â– â– 
  0.136 [487]   |â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– 
  0.172 [219]   |â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– â– 
  0.245 [4]     |
  0.282 [4]     |
  0.318 [5]     |
  0.355 [2]     |
  0.391 [5]     |


Latency distribution:
  10% in 0.1097 secs
  25% in 0.1263 secs
  50% in 0.1304 secs
  75% in 0.1377 secs
  90% in 0.1429 secs
  95% in 0.1461 secs
  99% in 0.3161 secs

Details (average, fastest, slowest):
  DNS+dialup:   0.0004 secs, 0.0266 secs, 0.3913 secs
  DNS-lookup:   0.0004 secs, 0.0000 secs, 0.0067 secs
  req write:    0.0000 secs, 0.0000 secs, 0.0003 secs
  resp wait:    0.0979 secs, 0.0116 secs, 0.3487 secs
  resp read:    0.0326 secs, 0.0007 secs, 0.0506 secs

Status code distribution:
  [200] 800 responses