-
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's instances.yml
, 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>"}