Skip to content
This repository has been archived by the owner on May 14, 2021. It is now read-only.

Code for load testing the Stellar network.

License

Notifications You must be signed in to change notification settings

kinecosystem/blockchain-load-testing

Repository files navigation

Stellar Load Testing

Code for load testing the Stellar network, written in Go.

Kin are looking to migrate away from Ethereum and onto a more predictable blockchain in terms of block time and fees. Stellar is a good candidate, and as part of the process we're testing the network indeed stand up to the performance it claims it has.

Build

This application was developed using Go 1.9, though earlier versions may work as well. Go expects a specific folder formation: /LOCAL_PATH/work/go/src/github.com/kinecosystem and environment variable: export GOPATH=/LOCAL_PATH/work/go

Run from /LOCAL_PATH/work/go/src/github.com/kinfoundation/stellar-load-testing:

# download glide
make glide

# install dependencies
make vendor

# build binaries
make build

Run

cmd/loadtest/ is the main application used for load testing. Additional helper apps can be found in cmd/. Check code comments in each for more information.

# fund test account, testnet only
go run cmd/friendbot

# create and fund test accounts
# see scripts source for default flags
./scripts/create.sh

# run load test
./scripts/loadtest.sh

# merge test accounts back into a single account
./scripts/merge.sh

Generate Reports

The reports/ directory contains short Python scripts that parse load test logs and generate CSV files, ready for charting with a spreadsheet editor like Google Spreadsheets or Excel.