We have made a lot of changes to Indy Node, Indy SDK, and Plugins. We need to repeat the tests from last year and measure improvements.
Perform a test of an Indy network that has the following attributes:
- The ledger is pre-loaded with 1 million transactions
- Pool size at least matches the number of network nodes initially expected in the Sovrin network (currently 25 nodes).
- 1K concurrent clients
- Over a 3 hour period induce a sustained throughput of 15 write transactions per second and 100 read transactions per second on average.
- Write load is a mixture of:
- writing credentials schema (5%),
- writing credential definition (5%)
- revoke registry definition (5%)
- revoke registry update (5%)
- write DID to ledger (20%)
- write payment to ledger (45%)
- write attrib to ledger (15%)
- Read load is a mixture of:
- read DID from ledger (45%)
- read credential schema (10%)
- read credential definition (10%)
- read revoke registry definition (10%)
- read revoke registry delta (10%)
- read attrib from ledger (10%)
- read payment balance from ledger (5%)
- Write response time should be less that 5 seconds (would also like a report of the average).
- Read response time should be less than 1 second (would also like a report of the average).
- Fees are enabled using the Sovrin Token plugins.
Near the end of the test, evaluate whether the ledger is keeping pace such that it could likely sustain the load indefinitely, or whether it is falling behind and will need a period to complete processing the queued load.
Any problems found will be logged in JIRA as separate issues for independent prioritization.