-
Notifications
You must be signed in to change notification settings - Fork 215
FireFly Performance Testing Guide
Alex Shorsher edited this page Jan 20, 2023
·
14 revisions
Minimum recommended instance specs:
- 4 vCPU
- 8 GiB memory
Make sure the following are installed:
- latest FireFly CLI
- Docker
- Git
In the same directory, clone the FireFly Performance CLI and FireFly Core.
The FireFly Performance CLI is the program we use to benchmark FireFly. It can be configured, through a file named instances.yml
, to test various parts of the FireFly system at high throughput over an extended period of time. For more information about configuring the CLI, please see the project's GitHub.
Here is the default instances.yml
typically used for testing FireFly
wsConfig:
wsPath: /ws
readBufferSize: 16000
writeBufferSize: 16000
initialDelay: 250ms
maximumDelay: 30s
initialConnectAttempts: 5
heartbeatInterval: 5s
instances:
- name: long-run
tests: [{"name": "msg_broadcast", "workers":50},{"name": "msg_private", "workers":50},{"name": "blob_broadcast", "workers":30},{"name": "blob_private", "workers":30},{"name": "custom_ethereum_contract", "workers":20},{"name": "token_mint", "workers":10}]
length: 500h
sender: 0
recipient: 1
messageOptions:
longMessage: false
tokenOptions:
tokenType: fungible
contractOptions: {"address": "<contract address>"}