Benchmarking TPS

This document explains how to run a 1 node network and fire transactions at it.

https://docs.solana.com/book/v/master/getting-started

(I didn’t do this, i just cloned the github and built it, but whatever…)

The bench-tps script calculates a MAX TPS and an AVG TPS

Obviously as the validator is local, the networking aspect of your hardware is not tested.

Still, I think this is pretty interesting.

Perhaps people would like to share their hardware and TPS scores???

2 Likes

Intel Xeon 32 core, 2 x M60 cards

$ lscpu | grep -E '^Thread|^Core|^Socket|^CPU\(' ; cat /proc/cpuinfo | grep "model name" | uniq
CPU(s):              32
Thread(s) per core:  2
Core(s) per socket:  16
Socket(s):           1
model name	: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz

$ nvidia-smi
Tue Jan 14 18:24:18 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01    Driver Version: 440.33.01    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla M60           On   | 00000000:00:1D.0 Off |                    0 |
| N/A   28C    P8    14W / 150W |      0MiB /  7618MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla M60           On   | 00000000:00:1E.0 Off |                    0 |
| N/A   35C    P8    14W / 150W |      0MiB /  7618MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

Results:

[2020-01-14T13:13:43.697637469Z INFO  solana_bench_tps::bench]  Node address        |       Max TPS | Total Transactions
[2020-01-14T13:13:43.697651288Z INFO  solana_bench_tps::bench] ---------------------+---------------+--------------------
[2020-01-14T13:13:43.697657089Z INFO  solana_bench_tps::bench] 127.0.0.1:9922       |      87287.11 | 5871818 
[2020-01-14T13:13:43.697668820Z INFO  solana_bench_tps::bench] 
    Average max TPS: 87287.11, 0 nodes had 0 TPS
[2020-01-14T13:13:43.697678206Z INFO  solana_bench_tps::bench] 
    Highest TPS: 87287.11 sampling period 1s max transactions: 5871818 clients: 1 drop rate: 0.61
[2020-01-14T13:13:43.697688777Z INFO  solana_bench_tps::bench] 	Average TPS: 64846.02

MAX TPS: 87,287.11
AVG TPS: 64,846.02

I’m able to get

Max TPS 143988.25
Average TPS: 72087.586

by running NDEBUG=1 ./multinode-demo/bench-tps.sh --duration 90 --thread-batch-sleep-ms 0

I’m able to squeeze out a bit more by increasing the --tx_count flag, e.g

NDEBUG=1 ./multinode-demo/bench-tps.sh --duration 90 --tx_count 250000 --thread-batch-sleep-ms 0

Our hardware:
2x INTEL® XEON® GOLD 5217 8 cores @3.00 GHz
3x 2080 Ti
NVMe storage
96GB RAM

2 Likes

3960x + 2x2080Ti

[2020-01-19T14:25:59.011756790Z INFO  solana_bench_tps::bench]  Node address        |       Max TPS | Total Transactions
[2020-01-19T14:25:59.011760727Z INFO  solana_bench_tps::bench] ---------------------+---------------+--------------------
[2020-01-19T14:25:59.011763222Z INFO  solana_bench_tps::bench] 127.0.0.1:8568       |     204127.03 | 14280566 
[2020-01-19T14:25:59.011769404Z INFO  solana_bench_tps::bench] 
    Average max TPS: 204127.03, 0 nodes had 0 TPS
[2020-01-19T14:25:59.011774313Z INFO  solana_bench_tps::bench] 
    Highest TPS: 204127.03 sampling period 1s max transactions: 14280566 clients: 1 drop rate: 0.58
[2020-01-19T14:25:59.011779923Z INFO  solana_bench_tps::bench] 	Average TPS: 157399.31
3 Likes

Just for fun 3960X with NO GPUs.

[2020-02-03T16:11:10.181667497Z INFO  solana_bench_tps::bench]  Node address        |       Max TPS | Total Transactions
[2020-02-03T16:11:10.181676614Z INFO  solana_bench_tps::bench] ---------------------+---------------+--------------------
[2020-02-03T16:11:10.181681253Z INFO  solana_bench_tps::bench] 127.0.0.1:8207       |     102899.92 | 7356377 
[2020-02-03T16:11:10.181687905Z INFO  solana_bench_tps::bench] 
    Average max TPS: 102899.92, 0 nodes had 0 TPS
[2020-02-03T16:11:10.181691582Z INFO  solana_bench_tps::bench] 
    Highest TPS: 102899.92 sampling period 1s max transactions: 7356377 clients: 1 drop rate: 0.62
[2020-02-03T16:11:10.181698124Z INFO  solana_bench_tps::bench] 	Average TPS: 81442.484