Hyperfoil benchmark configuration
Benchmark definition format for the Hyperfoil HTTP benchmark framework
| Type | object |
|---|---|
| File match |
*.hf.yaml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/hyperfoil-benchmark-configuration/latest.json |
| Source | https://hyperfoil.io/schema.json |
Validate with Lintel
npx @lintel/lintel check
Hyperfoil benchmark configuration
Properties
Name of the benchmark.
This should point to either http://hyperfoil.io/schema.json or local file
Agent nodes that should drive the load.
Adjust scenario to implement common functionality out-of-the-box.
5 nested properties
Store cookies in session and resend them on future requests. Default is true.
Append session ID and client hostname as user agent
Inject status handler that marks the request as invalid on status 4xx or 5xx. Default is true.
Inject completion handler that will stop the session if the request has been marked as invalid. Default is true.
Automatically fire requests when the server responds with redirection. Default is NEVER.
Benchmark execution phases.
Definitions
Adjust scenario to implement common functionality out-of-the-box.
Store cookies in session and resend them on future requests. Default is true.
Append session ID and client hostname as user agent
Inject status handler that marks the request as invalid on status 4xx or 5xx. Default is true.
Inject completion handler that will stop the session if the request has been marked as invalid. Default is true.
Automatically fire requests when the server responds with redirection. Default is NEVER.
HTTP connection pool configuration.
Target hostname. For simplicity this can include scheme and port, too.
Target TCP port
List of IP addresses that should be used. The connections will be randomly created to addresses in this list, or using host if it's empty.
Allow using HTTP 1.0 and HTTP 1.1 connections. Default is true.
Allow using HTTP 2.0 connections. Default is true.
Connection pooling model. Default is SHARED_POOL.
Start HTTP 2.0 connections without HTTP 1.x -> 2.0 upgrade. Default is false.
TLS key manager for setting up client certificates.
6 nested properties
Maximum number of connections to the server, shared between all phases and sessions. Default is 1.
Add handlers to support parsing raw HTTP responses. Default is true.
TLS trust manager for setting up server certificates.
4 nested properties
Make use of HTTP cache on client-side. If multiple authorities are involved, disable the HTTP cache for all of them to achieve the desired outcomes. The default is true except for wrk/wrk2 wrappers where it is set to false.
Concurrent sub-phases sharing the limits and users arrivals.
Add new users to the system at varying rate.