Skip to content

Azure Local Load Testing Framework

Automated performance and load testing for Azure Local clusters — storage, network, database, and system stress — with standardised reporting.

Quick Start

# 1. Clone and configure
git clone https://github.com/AzureLocal/azurelocal-loadtools
Copy-Item config\variables.example.yml config\variables.yml
# Edit config\variables.yml with your cluster details

# 2. Run a storage benchmark
.\scripts\Start-FioTest.ps1 -RunId "fio-$(Get-Date -f yyyyMMddHHmm)" -Profile "sequential-read"
.\scripts\Collect-FioResults.ps1 -RunId "fio-$(Get-Date -f yyyyMMddHHmm)"

# 3. Generate a report
.\scripts\New-LoadReport.ps1 -RunId "fio-$(Get-Date -f yyyyMMddHHmm)" -Tool fio

Architecture at a Glance

The framework is organised into five layers:

Configuration → Automation → Execution → Monitoring → Reporting

All scripts consume ConfigManager-generated JSON (never the raw YAML). Results flow from target nodes via SSH/SCP or WinRM to JSON aggregates, then into AsciiDoc report templates. See the Architecture Overview for the full breakdown.

Tools

Tool Target OS Category Status Profiles
fio Linux Storage I/O Implemented 5
iPerf3 Linux / Windows Network Implemented 3
HammerDB Windows Database Implemented 2
stress-ng Linux CPU / Memory / I/O Implemented 3
VMFleet Windows (HCI) VM fleet Implemented
Section Description
Getting Started Prerequisites, installation, and first run
Architecture Five-layer stack, tool selection, data flow
Tools Per-tool installation, profiles, monitoring, reporting, troubleshooting
Operations CI/CD pipelines, runner setup, troubleshooting
Reference Cmdlet reference, variables, tool comparison
Roadmap Milestone tracker and planned features

Repository