Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add A Basic Performance / Load Testing Sample #57

Open
opticyclic opened this issue Jul 6, 2021 · 0 comments
Open

Add A Basic Performance / Load Testing Sample #57

opticyclic opened this issue Jul 6, 2021 · 0 comments

Comments

@opticyclic
Copy link

Questions about load testing and performance frequently come up on Slack.

Corda Enterprise has the jmeter test suite, however, most new people seem to want something simple to use with their samples and not a full fledged solution. They also don't have access to Corda Enterprise.

JMeter is a pain to setup from scratch so a basic example without it would be sufficient as a sample.

A simple sample could do the following:

  • Run a Cordapp with a Spring Boot REST API (e.g. obligation-cordapp)
  • Take a CSV file as an input, convert it and upload it row by row to the REST API
  • Output a report containing the total time taken and maybe a few other metrics

e.g. some memory/CPU metrics https://www.baeldung.com/java-metrics and an example of a Corda JMX metric

Figures such as 600 TPS per node have been published https://medium.com/corda/transactions-per-second-tps-de3fb55d60e3 for Corda Enterprise so running a CSV file with 6000 rows would be interesting.

With this many rows the memory/CPU data etc could help highlight issues like how running on a laptop is very different from a server.

Ideally, this sample should be relatively easy to re-use for peoples own projects and require very little setup.
They should just be able to run it after checkout without 100 manual steps!

If the sample is done well, the users should just be able to put their own Cordapp/REST API and do the CSV conversion but still get the metrics and report without much more effort.

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

No branches or pull requests

1 participant