-1

I try to do performance testing about EOS contract. I built private EOS network with 6 nodes. I use apache bench to formulate http requests, and post to EOS service http://127.0.0.1:8888/v1/chain/abi_json_to_bin

The test result is, if the apache bench concurrent=1, per-request costs 3ms; and if the apache bench concurrent=2, per-request cost 6ms。

It seems that the max speed of EOS is 300tps/s。I don't know whether i need to optimize EOS config.ini? I need almost 10000tps/s, and how can i get this target?

Thanks a lot!

0

You don't need to use /v1/chain/abi_json_to_bin to serialize your action arguments. Once you fetch ABI from nodeos by /v1/chain/get_abi, there are many libraries that allow you for serializing arguments by yourself in local. If you often send same type actions (for example, eosio.token::transfer), they can utilize same ABI you downloaded.

Benchmark result can vary depending on environment setup. nodeos has configurable options for the number of threads handling requests, and wasm-runtime (eos-vm-jit and enable-eos-vm-oc will bring you fastest result) also affects how long a transaction consumes to be executed.

| improve this answer | |
  • thanks very much!!! Recently, we optimize the params and test other functions on local cluster of six nodes, and other function can get performance of 10000tps. Lucky, your answer prove our test results, and we will optimize the params you suggested, thanks again! – lihao Jul 5 at 11:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.