- Overview
- Getting started
- How To...
- User Guide
- Migration
-
Reference
-
Steps
- addItem
- addToInt
- addToSharedCounter
- awaitAllResponses
- awaitDelay
- awaitInt
- awaitVar
- breakIfFinished
- breakSequence
- clearHttpCache
- conditional
- fail
- foreach
- getIndex
- getItem
- getSharedCounter
- getSize
- hotrodRequest
- httpRequest
- json
- log
- loop
- markRequestInvalid
- newSequence
- noop
- publishAgentData
- publishGlobalCounters
- pullSharedMap
- pushSharedMap
- randomCsvRow
- randomFile
- randomInt
- randomItem
- randomUUID
- readAgentData
- removeItem
- restartSequence
- scheduleDelay
- set
- setInt
- setItem
- setSharedCounter
- stop
- stopwatch
- stringToInt
- template
- thinkTime
- timestamp
- unset
-
Processors
- addItem
- addToInt
- addToSharedCounter
- array
- clearHttpCache
- closeConnection
- collection
- conditional
- count
- fail
- getIndex
- getItem
- getSharedCounter
- getSize
- gzipInflator
- json
- log
- logInvalid
- markRequestInvalid
- newSequence
- parseHtml
- publishAgentData
- publishGlobalCounters
- queue
- readAgentData
- removeItem
- restartSequence
- set
- setInt
- setItem
- setSharedCounter
- store
- storeInt
- stringToInt
- unset
- Actions
-
Steps
- Custom extensions
- Controller API
- Architecture
- Release notes
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
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
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…