Azure Local Load Testing Framework¶
Automated performance and load testing for Azure Local clusters — storage, network, database, and system stress — with standardised reporting.
Under Active Development
This repository is a work in progress. Scripts, templates, and automation are not guaranteed to work at this time. Use at your own risk and expect breaking changes.
Each test is standalone
Every tool in this framework runs independently from a PowerShell terminal. No CI/CD pipeline is required. Pick a tool, follow the steps on its page, and run your test.
Quick Start¶
# 1. Clone and configure
git clone https://github.com/AzureLocal/azurelocal-loadtools
cd azurelocal-loadtools
Copy-Item config\variables.example.yml config\variables.yml
# Edit config\variables.yml with your cluster details
# 2. Run a VMFleet storage benchmark (fully implemented)
.\tools\vmfleet\Invoke-VMFleetPipeline.ps1 `
-ConfigPath "config\variables.yml" `
-Profiles @("General") `
-CredentialSource Interactive `
-GenerateReports
# Or run individual steps for any tool:
.\tools\vmfleet\scripts\Install-VMFleet.ps1 -ClusterName "hci01.corp.infiniteimprobability.com" -Nodes @("hci01-node1")
.\tools\vmfleet\scripts\Start-VMFleetTest.ps1 -Profile "General" -DurationSeconds 600
.\tools\vmfleet\scripts\Collect-VMFleetResults.ps1 -Nodes @("hci01-node1") -RunId "<run-id>"
Pick a Test¶
Each tool targets a specific performance domain. Click a tool to see exactly how to run it.
| Tool | What It Tests | Target OS | Status |
|---|---|---|---|
| VMFleet | Storage IOPS, throughput, latency via DiskSpd VM fleet | Windows (HCI host) | :white_check_mark: Fully Implemented |
| fio | Fine-grained storage I/O benchmarking | Linux VMs | :construction: Structure Ready |
| iPerf3 | Network bandwidth, jitter, packet loss | Linux / Windows | :construction: Structure Ready |
| HammerDB | SQL Server OLTP / OLAP benchmarking | Windows VMs | :construction: Structure Ready |
| stress-ng | CPU, memory, and system stress testing | Linux VMs | :construction: Structure Ready |
For a detailed comparison and selection guide, see Tools Overview.
How It Works¶
Every tool follows the same three-step pattern:
All scripts are in tools/<tool>/scripts/ and can be called directly from PowerShell. No pipeline setup required.
For the full architecture breakdown, see Architecture Overview.
Want to Automate?¶
CI/CD pipelines are available as an optional addition if you want to run tests on a schedule, trigger them from pull requests, or integrate into your deployment workflow. See CI/CD Pipelines.
Navigation¶
| Section | Description |
|---|---|
| Getting Started | Prerequisites, installation, and first run |
| Tools Overview | All tools at a glance with selection guide |
| Architecture | Five-layer stack, tool selection, data flow |
| Operations | CI/CD pipelines (optional), runner setup, troubleshooting |
| Reference | Cmdlet reference, variables, tool comparison |
| Roadmap | Milestone tracker and planned features |
Repository¶
- GitHub: AzureLocal/azurelocal-loadtools
- Issues: Report a bug or request a feature