Skip to content

Azure Local Load Testing Framework

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:

Install → Run Test → Collect Results

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.

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