Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

tps is very low, while trying to benchmark the performance #303

Closed
liliyongleo opened this issue Aug 13, 2018 · 6 comments
Closed

tps is very low, while trying to benchmark the performance #303

liliyongleo opened this issue Aug 13, 2018 · 6 comments
Labels

Comments

@liliyongleo
Copy link

We've tried to store some table into EOS via smart contract, and using eosjs as API interface. all thing work. but when we do the performance test, the eosjs consume lots of cpu, and prompt following message:
default

Seems like it took time to sign the transactions, if lots of requests flow into eosjs. Could anyone can help? Thanks.

@jcalfee
Copy link
Contributor

jcalfee commented Aug 13, 2018

Sure, I have an idea .. Changing the signature algorithm still needs a little more research.

ref: EOSIO/eosjs-ecc#20 (comment)

@chris-allnutt
Copy link
Contributor

@liliyongleo what exactly are you trying to performance test?

@liliyongleo
Copy link
Author

very basic operation. we have a project requires storing some evidences data into EOS,
e.g. some table: col 1: name col : phone# col 3: address.

we were trying to flush lots of data into EOS, to see how fast the Smart contract can be used to store the data. and so far, the only way I knew to invoke the smart contract, is using eosjs, which is nodejs indeed.

@chris-allnutt
Copy link
Contributor

@liliyongleo I would recommend creating a bunch of transactions using broadcast false then submitting them all at once. You'll find the thruput without signing as part of the test.

If you're just wondering about how many actions you can handle then you could put a bunch of actions into a single transaction. You'll only sign it once so that won't be a factor BUT the actions will execute in sequence in the contract so you can see how it does.

@liliyongleo
Copy link
Author

Thanks, chris. We've tried put a bunch of actions into a single transaction. It helps. But the problem is: it requires same private key for all these actions. In our senario, the requests can be from different account.

@jcalfee
Copy link
Contributor

jcalfee commented Aug 13, 2018

@chris-allnutt I'm wondering if Aarin can tell us why nodeos differs from the rfc6979 signing algorithm only by starting its nonce with 1 (instead of zero). That actually skips a step in the signature discovery process. So it would be good to know why nodeoes starts its nonce with 1.

Assuming this comment is correct, this finds that nodeos starts the nonce ("k") with 1: EOSIO/eosjs-ecc#20 (comment)

This will give me some safe options to use so I can performance test..

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants