Giter VIP home page Giter VIP logo

Comments (1)

swcurran avatar swcurran commented on September 28, 2024 1

The BC Gov Digital Trust team would like to know the current capacity (measured in transactions per minute) of select BC Gov verifiable credential issuers and verifiers. The goal is to understand if the services are capable of processing loads that might be expected when the opportunity to receive and present the credentials is opened to the general public. As the teams iterate on the service deployments, we’d like to be able to rerun the load tests to see the impact on the capacity as progress is made on the services.

The services under test will run in a test environment using minimally modified versions of the issuers and verifiers. The load test documentation produced from this effort must cover how to integrate the load test generator with the systems to be tested (issuers, verifiers, mediator). The BC Gov maintainers of the issuers, verifiers, and mediator to be tested will make the changes necessary for running load tests. The Aries community has used the open source tool Locust for generating loads. Locust is designed to generate a load by executing defined scripts at specified rates. Barring a better choice, Locust will be used to run a load generating script that spins up a simulated wallet at a defined rate to:

  • Connect to the testing mediator instance.
  • Request the issuance of a credential from the designated issuer service.
  • Periodically completes a presentation request/presentation sequence with a designated verifier service.

The load test generator must be capable of producing the following sustained load:

  • 38 issuances per minute
  • 165 verifications per minute

Ensuring that the services can sustain such a load is the responsibility of the BC Gov maintainers responsible for those services. An execution of the load test generator with mocked issuer, verifier, and mediator services is sufficient to demonstrate that capability.

The existing implementation of a similar capability uses an instance of Aries Framework JavaScript per wallet, which puts a very heavy load on the load generator system itself, such that the test runs frequently crash the generator before hitting the capacity of the systems under test. We expect that the scripting process will need to be implemented to use a multi-tenant version of Aries to reduce the resource usage on the load generator. Each wallet will be a tenant in a single, scalable instance of Aries.

The proposed architecture for the implementation:

image

from ditp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.