load-testing

Designs load, stress, soak, and spike tests with open workload models and percentile analysis.

Updated Dec 29, 2025
One-click install
npx skills add https://github.com/snoodleboot-io/discrecontinual_equations --skill load-testing-snoodleboot-io
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: load-testing
Source: https://github.com/snoodleboot-io/discrecontinual_equations/tree/main/.claude/skills/load-testing
Command: npx skills add https://github.com/snoodleboot-io/discrecontinual_equations --skill load-testing-snoodleboot-io

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams often run a single ten-minute peak test and conclude their system is load tested, missing failure modes like memory leaks, queue collapse, and autoscale lag that only specific test shapes expose. This Skill guides the design of rigorous load tests that surface real bottlenecks before production does. ## Core Features & Use Cases - Four Test Shapes: Distinguishes load, stress, soak, and spike tests, mapping each to the failure class it uniquely exposes (SLO conformance, the saturation knee, leaks, cold starts). - Open vs Closed Workload Models: Explains why fixed-VU closed models self-throttle and hide queue collapse, with k6 ramping-arrival-rate configuration examples. - Honest Metrics & Methodology: Covers percentile reporting over averages, warm-up exclusion, production-scale data with realistic key skew, knee-finding curves, and load generator health checks. - Use Case: Before a major release, design a 4-hour soak test at 70% of peak with an arrival-rate executor, production-scale dataset, and server-side telemetry to catch a connection pool leak that a short test would miss. ## Quick Start Design a stress test plan for my API that finds the saturation knee using an open workload model in k6.

Frequently Asked Questions about load-testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a load test that finds real bottlenecks?▼

Run a stress test that steps the arrival rate and records throughput, p50/p95/p99, error rate, and resource saturation at each step. The knee appears where latency climbs sharply, and the resource metric tracking p99 names the bottleneck, such as a connection pool.

What is the difference between open and closed workload models in k6?▼

A closed model holds a fixed number of virtual users that self-throttle when the server slows, hiding queue collapse. An open model fixes the arrival rate so work piles up under degradation, matching real traffic. Use k6's ramping-arrival-rate executor for open models.

Why is average response time misleading in load test results?▼

Averages are dominated by fast requests and hide tail latency that users actually experience. A build can show a 3 ms average regression while its p99 jumps from 380 ms to 4 seconds. Always report p50, p95, p99, and max instead.

How long should a soak test run to detect memory leaks?▼

Soak tests should run 4 to 24 hours at 60-80% of peak load. A leak of 4 MB per hour is invisible in a 20-minute run but takes down a pod in days, so short tests cannot reveal leaks, fd exhaustion, or disk growth.

Why do load test results differ from production behavior?▼

Common causes include testing against small dev datasets that change query plans and cache hit rates, replaying one hardcoded id so caches absorb all load, and using closed models that self-throttle. Match production row counts, key skew, and use arrival-rate executors.

How do I know my load generator is not the bottleneck?▼

Verify generator CPU stays below 70%, file descriptors and ephemeral ports have headroom, and k6 dropped_iterations is zero. Nonzero dropped iterations means maxVUs was too low and the intended arrival rate was never actually offered.