Skip to content
/ hey Public
forked from rakyll/hey

HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom

License

Notifications You must be signed in to change notification settings

zgxme/hey

This branch is 3 commits ahead of rakyll/hey:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

00dad7e · Feb 13, 2022
Feb 12, 2022
Feb 12, 2022
Jan 19, 2022
Jan 19, 2022
Oct 17, 2018
Jan 19, 2022
Mar 23, 2021
Nov 25, 2020
Sep 2, 2016
Dec 19, 2020
Feb 13, 2022
Jan 19, 2022
Jan 19, 2022
Feb 12, 2022
Aug 19, 2017

Repository files navigation

hey

Build Status

hey is a tiny program that sends some load to a web application.

hey was originally called boom and was influenced from Tarek Ziade's tool at tarekziade/boom. Using the same name was a mistake as it resulted in cases where binary name conflicts created confusion. To preserve the name for its original owner, we renamed this project to hey.

Installation

Package Managers

macOS:

  • Homebrew users can use brew install hey.

Usage

hey runs provided number of requests in the provided concurrency level and prints stats.

It also supports HTTP2 endpoints.

Usage: hey [options...] <url>

Options:
  -n  Number of requests to run. Default is 200.
  -c  Number of workers to run concurrently. Total number of requests cannot
      be smaller than the concurrency level. Default is 50.
  -q  Rate limit, in queries per second (QPS) per worker. Default is no rate limit.
  -z  Duration of application to send requests. When duration is reached,
      application stops and exits. If duration is specified, n is ignored.
      Examples: -z 10s -z 3m.
  -o  Output type. If none provided, a summary is printed.
      "csv" is the only supported alternative. Dumps the response
      metrics in comma-separated values format.

  -m  HTTP method, one of GET, POST, PUT, DELETE, HEAD, OPTIONS.
  -H  Custom HTTP header. You can specify as many as needed by repeating the flag.
      For example, -H "Accept: text/html" -H "Content-Type: application/xml" .
  -t  Timeout for each request in seconds. Default is 20, use 0 for infinite.
  -A  HTTP Accept header.
  -d  HTTP request body.
  -D  HTTP request body from file. For example, /home/user/file.txt or ./file.txt.
  -T  Content-type, defaults to "text/html".
  -a  Basic authentication, username:password.
  -x  HTTP Proxy address as host:port.
  -h2 Enable HTTP/2.

  -host	HTTP Host header.

  -disable-compression  Disable compression.
  -disable-keepalive    Disable keep-alive, prevents re-use of TCP
                        connections between different HTTP requests.
  -disable-redirects    Disable following of HTTP redirects
  -cpus                 Number of used cpu cores.
                        (default for current machine is 8 cores)
  
  -disable-metrics      Disable minering metrics. Default is false.
  -metrics-host         Host of metrics exporter. Default is localhost.
  -metrics-port         Port of metrics exporter(1-65535). Default is 1010.
  -metrics-interval     Interval of minering metrics(unit is millisecond). Default is 5000.

Previously known as github.com/rakyll/boom.

About

HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 96.7%
  • Dockerfile 2.8%
  • Makefile 0.5%