Skip to content

stress-ng — System Stress Testing

This page has moved

The main stress-ng landing page with run instructions is now at stress-ng. This page contains additional technical details.

Tool: stress-ng Status: Implemented

Purpose

CPU, memory, cache, and system stress testing for capacity planning and burn-in validation.

When to Use

  • CPU stress testing for thermal and power validation
  • Memory stress testing for stability under pressure
  • Burn-in testing of new cluster nodes
  • Capacity planning — determine maximum safe utilization levels

Key Capabilities

  • 370+ stress tests across CPU, memory, filesystem, network categories
  • YAML job files for reproducible configurations
  • Metrics: bogo ops/s, thermal zones, power measurement
  • Stressor class system for targeted testing

Prerequisites

In addition to the common prerequisites:

  • Linux VMs deployed on the Azure Local cluster
  • Ansible 2.14+ for deployment
  • stress-ng package installed on target VMs (automated via Ansible role)

Quick Start

# Run all-core CPU stress on every node
.\tools\stress-ng\scripts\Start-StressNgTest.ps1 `
    -ClusterName "hci01.corp.infiniteimprobability.com" `
    -Nodes @("hci01-node1", "hci01-node2") `
    -Profile "cpu-stress"

# Collect bogo-ops metrics
.\tools\stress-ng\scripts\Collect-StressNgResults.ps1 `
    -ClusterName "hci01.corp.infiniteimprobability.com" `
    -Nodes @("hci01-node1", "hci01-node2") `
    -RunId "<run-id-from-previous-step>"

File Locations

Component Path
Scripts tools/stress-ng/scripts/
Profiles tools/stress-ng/config/profiles/
Alert Rules tools/stress-ng/monitoring/alerts/alert-rules.yml
Report Templates tools/stress-ng/reports/templates/
Tests tools/stress-ng/tests/

stress-ng Documentation

Document Description
Installation Install stress-ng on Linux VMs
Workload Profiles CPU, memory, and I/O profile configuration
Monitoring Alert rules active during stress-ng runs
Reporting Result collection and report generation
Troubleshooting Common issues and resolutions