Skip to content

mojaloop/ml-perf-whitepaper-ws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mojaloop Performance Testing Workstream

This repository contains the complete infrastructure, tooling, and test definitions used to perform end-to-end performance testing of Mojaloop at scale (hundreds to thousands of TPS).

The workspace is structured to clearly separate infrastructure provisioning, test execution, and test results, making it easy to reproduce, tune, and analyze performance runs.


Repository Structure

ML-PERF-WHITEPAPER-WS
├── infrastructure/
│   └── README.md
│       - Provisioning of cloud infrastructure
│       - Kubernetes clusters (MicroK8s)
│       - Mojaloop backend, switch, DFSPs
│       - k6 operator setup
│
├── performance-tests/
│   ├── src/
│   │   └── README.md
│   │       - k6 test implementation
│   │       - Helm chart for k6 Operator
│   │       - Test configuration and execution scripts
│   │
│   └── results/
│       - Test results (summaries, metrics, logs)
│       - Scenario-specific configuration overrides
│       - TPS-specific tuning references (e.g. 500 / 1000 / 2000 TPS)
│
├── docs/
│   - Supporting documentation and notes
│
├── README.md
└── LICENSE.md

High-level Workflow

  1. Provision Infrastructure
    Use Terraform and Ansible to provision compute, networking, and Kubernetes clusters.
    See: infrastructure/README.md

  2. Deploy Mojaloop Stack
    Deploy Mojaloop backend services, switch, DFSP simulators, monitoring, and security components.

  3. Prepare Test Data
    Pre-register MSISDNs and verify Kafka, MySQL, and DFSP readiness.

  4. Run Performance Tests
    Execute k6 tests via the k6 Operator from a dedicated k6 cluster.
    See: performance-tests/README.md

  5. Analyze Results
    Review metrics, summaries, and scenario configurations under performance-tests/results.


Design Principles

  • Reproducibility – Fully declarative infra and test configuration
  • Scalability – Tested with multiple DFSPs and high TPS targets
  • Isolation – Dedicated clusters for switch, DFSPs, and load generation
  • Observability – Prometheus, Grafana, and Kafka UI support

License

This project is licensed under the terms of the LICENSE.md.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •