Hyperfoil

Getting started: First benchmark

1. Download latest release and unpack it

> wget https://github.com/Hyperfoil/Hyperfoil/releases/download/hyperfoil-all-0.25.2/hyperfoil-0.25.2.zip \
    && unzip hyperfoil-0.25.2.zip \
    && cd hyperfoil-0.25.2

2. Start Hyperfoil in interactive mode (CLI)

> bin/cli.sh

For our first benchmark we’ll start an embedded server (controller) within the CLI:


[hyperfoil]$ start-local
Starting controller in default directory (/tmp/hyperfoil)
Controller started, listening on 127.0.0.1:41621
Connecting to the controller...
Connected!

3. Upload the minimalistic benchmark, doing only single request to http://hyperfoil.io, and run it:


[hyperfoil@in-vm]$ upload examples/single-request.hf.yaml
Loaded benchmark single-request, uploading...
... done.
[hyperfoil@in-vm]$ run single-request
Started run 0001
Run 0001, benchmark single-request
Agents: in-vm[STARTING]
Started: 2019/11/15 16:11:43.725    Terminated: 2019/11/15 16:11:43.899
NAME     STATUS      STARTED       REMAINING  COMPLETED     TOTAL DURATION               DESCRIPTION
example  TERMINATED  16:11:43.725             16:11:43.899  174 ms (exceeded by 174 ms)  1 users at once

4. Check out performance results:


[hyperfoil@in-vm]$ stats
Total stats from run 000A
PHASE    METRIC  REQUESTS  MEAN       p50        p90        p99        p99.9      p99.99     2xx  3xx  4xx  5xx  CACHE  TIMEOUTS  ERRORS  BLOCKED
example  test           1  172.49 ms  173.02 ms  173.02 ms  173.02 ms  173.02 ms  173.02 ms    0    1    0    0      0         0       0       0 ns

Doing one request is not much of a benchmark and the statistics above are moot, but hey, this is a quickstart.

Now that you know how to run a benchmark, let’s take a deeper look into single-request.hf.yaml.

In the future you might find editing with schema useful but at this point any editor with YAML syntax highlighting will do the job.

Ready? Let’s continue with something a bit more realistic

Close

Search results for "":