You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.
In order to test the p2p infrastructure under the greatest load, I would like a plugin that generates transactions in a configurable way. My idea is that this plugin will behave more-or-less like the http plugin except that it will synthesize transaction data rather than accept it from an external source.
I also expect a multinode testnet to support multiple nodes with this plugin. I assume that the plugin will read a config file, probably json. The launcher app can be enhanced to compose appropriate sets of config files. Configuration items include such details as a range of accounts to produce, contract[s] to load, execution frequency, etc. Finally the plugin should periodically report metrics as appropriate.
As I complete the remaining details of the p2p, I think this will give a more flexible and robust means of driving load tests.
ATC: run the following sequence of steps. note the curl commands end with the http argument.
Phil:
In order to test the p2p infrastructure under the greatest load, I would like a plugin that generates transactions in a configurable way. My idea is that this plugin will behave more-or-less like the http plugin except that it will synthesize transaction data rather than accept it from an external source.
I also expect a multinode testnet to support multiple nodes with this plugin. I assume that the plugin will read a config file, probably json. The launcher app can be enhanced to compose appropriate sets of config files. Configuration items include such details as a range of accounts to produce, contract[s] to load, execution frequency, etc. Finally the plugin should periodically report metrics as appropriate.
As I complete the remaining details of the p2p, I think this will give a more flexible and robust means of driving load tests.
ATC: run the following sequence of steps. note the curl commands end with the http argument.
programs/launcher/launcher -p1
n2l noneecho "plugin = eosio::txn_test_gen_plugin" >> staging/tn_data_01/config.ini
programs/launcher/launcher ~~p1
n2-~~nogencurl --data-binary '["inita", "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"]' http://localhost:8889/v1/txn_test_gen/create_test_accounts
curl --data-binary '["inita", "5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3"]' http://localhost:8889/v1/txn_test_gen/fund_accounts
curl --data-binary '["one", 400]' http://localhost:8889/v1/txn_test_gen/start_generation
tail tn_data_00/stderr.txt
observe transactions in the output. e.g:
111046ms thread-0 producer_plugin.cpp:246 block_production_loo ] initr generated block #766 @ 2017-12-01T03:01:51 with 42 trxs 0 pending
112035ms thread-0 chain_controller.cpp:371 _generate_block ] generation took 33 ms
112048ms thread-0 chain_controller.cpp:208 _push_block ] inito #767 @2017-12-01T03:01:52 | 33 trx, 0 pending, exectime_ms=12
112049ms thread-0 producer_plugin.cpp:246 block_production_loo ] inito generated block #767 @ 2017-12-01T03:01:52 with 33 trxs 0 pending
113027ms thread-0 chain_controller.cpp:371 _generate_block ] generation took 24 ms
113048ms thread-0 chain_controller.cpp:208 _push_block ] initk #768 @2017-12-01T03:01:53 | 38 trx, 0 pending, exectime_ms=19
113049ms thread-0 producer_plugin.cpp:246 block_production_loo ] initk generated block #768 @ 2017-12-01T03:01:53 with 38 trxs 0 pending
114025ms thread-0 chain_controller.cpp:371 _generate_block ] generation took 23 ms
114039ms thread-0 chain_controller.cpp:208 _push_block ] initj #769 @2017-12-01T03:01:54 | 37 trx, 0 pending, exectime_ms=12
114041ms thread-0 producer_plugin.cpp:246 block_production_loo ] initj generated block #769 @ 2017-12-01T03:01:54 with 37 trxs 0 pending
The text was updated successfully, but these errors were encountered: