EOS pressure test with EOSBenchTool

in #eos7 years ago (edited)

In this pressure test, we used 7 computers and sent transactions to a EOS node server at the same time. The test results were that the EOS node server CPU usage rate was about 54.2%, and the EOS server max tps is 1896,this document will introduce the test methods

EOSBenchTool principle
EOSBenchTool client prepares a batch of transactions, then uses the push Transactions to sends transactions to EOS node to save the client's packaging, signature time, use the limited client to maximize the pressure test on the server as far as possible!
EOS node version
DAWN-2018-04-23-ALPHA
EOS node tested on
one Ubuntu computer
Ubuntu 16.04 LTS
Memory 15.5GiB
Processor Intel Core i7-7700 CPU @3.60GHz*8
OS Type 64-bit

EOSBenchTool runs on (seven computers)
three windows 8G computers
Windows 10
Memory 7.85GB
Processor Intel Core i7-6700HQ CPU @2.60GHz*2
OS Type 64-bit

three windows 16G computers
Windows 10
Memory 15.9GB
Processor Intel Core i7-6700HQCPU @2.60GHz*2
OS Type 64-bit

one mac computer
macOS Sierra 10.12.6
Memory 16GB 1600 MHz DDR3
Processor Intel Core i7 @2.20GHz
OS Type 64-bit
WLAN
Network frequency band 2.4GHz
Network channel 6

EOS Node Preparation
config eos node
in eos node config.ini, set http-server-address = 0.0.0.0:8888
set "eosio.token" contract, create and issue EOS token
cleos -u http://127.0.0.1:8888/ set contract eosio.token ./eosio.token -p eosio.token
cleos -u http://127.0.0.1:8888/ push action eosio.token create '{"issuer": "eosio", "maximum_supply": "100000000.0000 EOS", "can_freeze": 0, "can_recall": 0, "can_whitelist": 0}' -p eosio.token
cleos -u http://127.0.0.1:8888/ push action eosio.token issue '[ "eosio", "100000000.0000 EOS", "m" ]' -p eosio
start one nodeos
nodeos --config-dir c --data-dir d 1>>err.txt 2>>std.txt &

EOSBenchTool
git clone https://github.com/OracleChain/EOSBenchTool
and then, use QT Creator open project,select release to run!