Direct answer: at Azure App Testing public list prices on 11 November 2026 (USD, excluding tax and discounts), Azure Load Testing bills per Virtual User Hour (VUH): $0.15/VUH for the first 10,000 VUH and $0.06/VUH above 10,000 (progressive tiers). VUH = virtual users × run minutes ÷ 60; Microsoft samples active virtual users every 10 seconds and bills fractional VUH. For example, 1,000 VUs for 30 minutes = 500 VUH = $75. From 1 March 2026 there is a minimum charge: each test bills at least 10 VUs per engine for its duration; runs shorter than 10 minutes use 10 minutes. So 5 VUs for 3 hours is 15 VUH actual but 30 VUH minimum, billed $4.50; 5 VUs for 5 minutes is 0.83 VUH actual but 1.67 VUH minimum, billed $0.25. The Retail API also lists a $10 JMeter Load Testing Resource meter (not shown on the pricing page; shown separately here as an optional resource fee to verify on the bill). 10,000 VUH = $1,500; 20,000 VUH = $1,500 + 10,000×$0.06 = $2,100; 100,000 VUH = $6,900.

This guide is for QA/performance engineering, SRE, platform engineering, finance and procurement choosing a load-testing tool, migrating from self-hosted JMeter/Locust, or budgeting CI/CD performance tests. It separates official prices, editorial calculations and exclusions, covering the VUH formula and 10-second sampling, the 1 March 2026 minimum charge, volume tiers and monthly costs, CI scenarios, Playwright Workspaces on the same page, the boundary with self-hosted JMeter and a 90-day checklist. Prices come from the Azure App Testing pricing page, Azure Retail Prices API and Microsoft Learn Load Testing overview/concepts docs (11 November 2026). This is not procurement advice.

Three rules to remember

(1) VUH is not "test count": it is virtual users × duration. 1,000 VUs for 30 minutes is 500 VUH ($75); for an hour it is 1,000 VUH ($150). (2) From 1 March 2026 there is a minimum: 10 VUs per engine; runs under 10 minutes use 10 minutes, so short/low-concurrency tests get lifted to the minimum VUH. (3) 10,000 VUH is the price break: $0.15 before, $0.06 after; big batches get cheaper, but the resource fee/engine count are separate.

VUH formula: virtual users × minutes ÷ 60

Official definition: VUH = (simulated virtual users × run minutes) ÷ 60; the service samples active virtual users every 10 seconds and bills fractional VUH. Examples: 1,000 VUs × 30 minutes ÷ 60 = 500 VUH; 500 VUs × 60 minutes = 500 VUH; 100 VUs × 10 minutes = 16.67 VUH. With multiple engines, the official billing example multiplies by engine count (500 VUs, 2 engines, 5 minutes = 500×5/60×2 = 83.33 VUH), so check "VUs per engine × engines", not just total VUs.

ScenarioCalculationVUHVUH fee (0.15)
1,000 VUs × 30 min1,000×30÷60500$75.00
500 VUs × 60 min500×60÷60500$75.00
100 VUs × 10 min100×10÷6016.67$2.50
500 VUs × 5 min × 2 engines500×5÷60×283.33$12.50
50 VUs × 10 min × 20 runs/month50×10÷60×20166.67$25.00
200 VUs × 30 min × 4 runs/month200×30÷60×4400$60.00

Sources: Azure App Testing pricing FAQ and Load Testing concepts doc (11 November 2026). VUH samples every 10 seconds and bills fractions; the multi-engine row follows the official billing example; excludes resource fee, tax and discounts.

1 March 2026 minimum: 10 VUs per engine

From 1 March 2026, the minimum VUH per test run is 10 VUs per engine × duration; if the run is shorter than 10 minutes, it uses 10 VUs per engine × 10 minutes. Official examples: 5 VUs, 1 engine, 3 hours is 15 VUH actual but 30 VUH minimum, billed 30 VUH; 5 VUs, 1 engine, 5 minutes is 0.83 VUH actual but 1.67 VUH minimum, billed 1.67 VUH; 500 VUs, 2 engines, 5 minutes is 83.33 VUH, above the 3.33 VUH minimum, billed 83.33 VUH. The minimum materially changes unit cost for short/low-concurrency tests.

ScenarioActual VUHMinimum VUHBilled VUHFee (0.15)
5 VUs × 3 h × 1 engine153030$4.50
5 VUs × 5 min × 1 engine0.831.671.67$0.25
10 VUs × 5 min × 1 engine0.831.671.67$0.25
500 VUs × 5 min × 2 engines83.333.3383.33$12.50
1,000 VUs × 30 min × 1 engine5005500$75.00

Editorial calculation: minimum = 10 VUs per engine × duration (or 10 minutes if shorter); billed = max(actual, minimum); unit price $0.15/VUH; excludes resource fee, tax and discounts.

Volume tiers: 10,000 VUH is the break

VUH uses progressive tiers: the first 10,000 VUH at $0.15, the portion above 10,000 at $0.06. So 10,000 VUH = $1,500; 20,000 VUH = $1,500 + 10,000×$0.06 = $2,100; 50,000 VUH = $1,500 + 40,000×$0.06 = $3,900; 100,000 VUH = $1,500 + 90,000×$0.06 = $6,900. Above 10,000 the marginal price drops to 40% of the first tier, so large regression/peak-test batches get cheaper; but the minimum charge still applies per run, and scattered short tests do not benefit from "total volume" automatically.

Monthly VUHCalculationVUH fee+ $10 resource
1,0001,000×0.15$150$160
5,0005,000×0.15$750$760
10,00010,000×0.15$1,500$1,510
20,000$1,500 + 10,000×0.06$2,100$2,110
50,000$1,500 + 40,000×0.06$3,900$3,910
100,000$1,500 + 90,000×0.06$6,900$6,910

Editorial calculation: first 10,000 at $0.15, excess at $0.06, progressive; +$10 is the Retail API JMeter Load Testing Resource meter, not shown on the pricing page, treated as per resource/month—verify on the bill; excludes tax and discounts.

CI/CD scenarios: 20 short runs vs 4 long runs

Cost is driven by "concurrency × duration × runs", not script count. 50 VUs×10 min×20 runs/month = 166.67 VUH = $25; 200 VUs×30 min×4 runs = 400 VUH = $60; 1,000 VUs×30 min×10 runs = 5,000 VUH = $750. Put long peak tests before releases and short smoke tests on every merge instead of running a big test on every merge; also watch the minimum: 5 VUs×5 min is billed at 1.67 VUH, so 20 such runs are 33.33 VUH ($5), not 1.67 VUH.

CI scenarioCalculationVUH/monthVUH fee
50 VUs×10 min×20 runs50×10÷60×20166.67$25.00
200 VUs×30 min×4 runs200×30÷60×4400$60.00
1,000 VUs×30 min×10 runs1,000×30÷60×105,000$750.00
5 VUs×5 min×20 runs (minimum)1.67×2033.33$5.00
10,000 VUs×30 min×1 run10,000×30÷605,000$750.00

Editorial calculation: VUH = concurrency × minutes ÷ 60 × runs; short runs use the 1.67 VUH minimum; excludes resource fee, tax and discounts; multi-engine runs multiply by engines per the official example.

Playwright Workspaces on the same page

The Azure App Testing pricing page also lists Playwright Workspaces: a 30-day trial with the first 100 test minutes, Linux cloud browsers at $0.01/minute, Windows at $0.02/minute, billed by the second. This is a separate meter from Load Testing VUH: Playwright bills browser test minutes, Load Testing bills virtual-user hours. Don't mix them in one budget; if a team does both end-to-end functional testing and load testing, estimate test minutes and VUH separately, then combine.

MeterPriceBilled forExample
Load Testing VUH$0.15 (first 10k); $0.06 (above)Virtual users × hours1,000 VUs×30 min = 500 VUH
Playwright Linux$0.01/minCloud browser test time50 tests×12 sec = 10 min = $0.10
Playwright Windows$0.02/minCloud browser test time10 min = $0.20
Playwright trial$0First 100 min/30 daysPlaywright only, not Load Testing
Resource fee$10 (Retail API)Load Testing resourceNot shown on pricing page; check bill

Sources: Azure App Testing pricing page and Retail API (11 November 2026). Playwright and Load Testing are different meters; the trial applies only to the first 100 Playwright minutes.

Selection: managed Load Testing vs self-hosted JMeter/Locust

Managed Load Testing fits teams that need high concurrency quickly, don't want to maintain load generators, want tests in CI/CD, and need Azure Monitor resource metrics/private endpoints/VNet; VUH billing behaves like pay-per-test. Self-hosted JMeter/Locust fits long-running, high-frequency, stable concurrency with existing idle compute/containers and the ability to own generator scaling, JMeter tuning, result storage and maintenance; cost is VMs/containers + storage + labour, with no VUH but idle cost. For short/low-concurrency tests, watch the minimum charge and resource fee; for large occasional tests, managed is usually less operational work.

ScenarioFirst choiceCheck first
Occasional high-concurrency testManaged Load TestingVUH, minimum, resource fee
Per-merge CI smoke testManaged or small self-hosted1.67 VUH minimum per run
Frequent, stable long testsSelf-hosted JMeter/LocustVM/container + labour
Azure resource metrics neededManaged Load TestingAzure Monitor integration
Private endpoint/VNetManaged Load TestingVNet injection support
Functional/E2E testingPlaywright WorkspacesBilled per test minute, not VUH
Tight budget, can operateSelf-hostedIdle cost and tuning

Editorial summary, not a vendor recommendation; capabilities/prices follow official pages; self-hosted cost is not quoted here.

Hidden costs and 90-day checklist

Seven hidden costs: the minimum charge lifting short tests to 1.67 VUH each, the $10 resource fee (Retail API, not shown on the page), multi-engine VUH multiplication, the first 10,000 VUH costing 2.5× the marginal rate, Playwright and Load Testing being separate meters, the target environment's egress/bandwidth/database cost, and logs/monitoring generated by the test. 90 days: weeks 1–2 inventory test types (smoke/regression/peak), concurrency, duration and runs; weeks 2–3 estimate VUH and the minimum charge; weeks 3–4 compare self-hosted generator VMs/labour; weeks 4–6 split short and long tests and consolidate inefficient ones; weeks 6–8 validate multi-engine/private endpoint/CI integration; weeks 8–10 monitor actual VUH and resource fee; weeks 10–12 optimize concurrency/duration/runs against the bill.

Cost itemTriggerControl
VUH $0.15/$0.06Concurrency × durationTier tests; cut needless long runs
Minimum chargeShort/low-concurrency runsConsolidate runs or lengthen
Resource fee $10Each Load Testing resourceConsolidate resources; verify bill
Multiple enginesVUs per engineSize by total concurrency/engine capacity
Playwright minutesE2E browser testsBudget separately from VUH
Target environmentEgress/database/logsIsolate and cap the test environment
LabourScripting/tuning/analysisReuse CI and templates

Editorial summary: costs outside the price list bill as other Azure services; the resource fee follows the Retail API meter—verify the actual bill.

FAQ

How is Azure Load Testing billed?

Per Virtual User Hour (VUH): $0.15/VUH for the first 10,000 and $0.06 above; VUH = virtual users × minutes ÷ 60, sampled every 10 seconds. From 1 March 2026, each run has a minimum of 10 VUs per engine; runs under 10 minutes use 10 minutes.

What does 1,000 VUs for 30 minutes cost?

1,000×30÷60 = 500 VUH; at $0.15 that is $75. Only the portion above 10,000 monthly VUH gets $0.06; the resource fee is separate and should be verified on the bill.

How does the minimum charge work?

At least 10 VUs per engine × duration; if shorter than 10 minutes, use 10 minutes. Example: 5 VUs×3 h is 15 VUH actual but 30 VUH minimum, billed $4.50; 5 VUs×5 min is 1.67 VUH minimum, billed $0.25.

Is 10,000 VUH an all-unit discount?

No, it is progressive: the first 10,000 at $0.15, the excess at $0.06. 10,000 VUH = $1,500; 20,000 VUH = $1,500 + 10,000×$0.06 = $2,100, not 20,000×$0.06.

How are multiple engines counted?

The official billing example multiplies by engines: 500 VUs, 2 engines, 5 minutes = 500×5÷60×2 = 83.33 VUH. Check "VUs per engine × engines", not just total VUs.

Is there a free allowance?

The 30-day/first-100-minute trial on the pricing page belongs to Playwright Workspaces, not Load Testing; Load Testing has no separate free VUH allowance. The Retail API also lists a $10 JMeter Load Testing Resource meter—verify on the bill.

How do Playwright and Load Testing differ?

Playwright bills cloud browser test minutes (Linux $0.01/min, Windows $0.02/min, first 100 minutes trial); Load Testing bills VUH (virtual users × duration). They are different meters; budget separately.

How do I reduce cost?

Five steps: (1) separate short smoke tests from long peak tests and avoid a big test on every merge; (2) consolidate very short/low-concurrency runs to reduce minimum charges; (3) concentrate large batches above 10,000 VUH to use the $0.06 marginal rate; (4) consolidate Load Testing resources and verify the $10 fee; (5) compare self-hosted JMeter/Locust for frequent, stable long tests.

Research method and limitations

Official facts (App Testing pricing FAQ, Retail API, Learn Load Testing overview/concepts): VUH formula and 10-second sampling; 1,000 VUs×30 min = 500 VUH; the 1 March 2026 minimum and examples; two VUH tiers; Playwright Linux/Windows per-minute prices and 100-minute trial; test-engine concepts. Editorial calculations: VUH = concurrency × minutes ÷ 60 (multi-engine per the official example), progressive tiers, billed = max(actual, minimum), resource fee shown separately; run counts/concurrency/duration are editorial assumptions.

Seven limitations: (1) USD list prices only, excluding tax/contract discounts/regional differences; (2) run counts, concurrency, duration and engine counts are editorial assumptions; (3) excludes target environment/bandwidth/database/logs, self-hosted generator cost and labour; (4) no real high-concurrency/multi-engine benchmark; (5) the $10 resource fee's billing period is not shown on the pricing page—verify with the Retail API and bill; (6) Playwright and Load Testing have different trial/free scopes; (7) prices/minimum rules change—recheck official pages and bills before purchase.

Sources and basis

  • Microsoft Azure, Azure App Testing Pricing: azure.microsoft.com/en-us/pricing/details/load-testing. VUH tiers, VUH formula and 10-second sampling, 1 March 2026 minimum, Playwright per-minute prices/trial. Accessed 11 November 2026.
  • Azure Retail Prices API (productName contains App Testing): prices.azure.com/api/retail/prices. VUH $0.15/$0.06 (tierMinimumUnits 10,000), Playwright Linux $0.01/Windows $0.02, JMeter Load Testing Resource $10. Accessed 11 November 2026.
  • Microsoft Learn, What is Azure Load Testing?: overview-what-is-azure-load-testing. JMeter/Locust, test engines, Azure Monitor metrics, private endpoints/VNet. Accessed 11 November 2026.
  • Microsoft Learn, Key concepts for Azure Load Testing: concept-load-testing-concepts. Load Testing resource, test engines, concurrency/virtual-user concepts. Accessed 11 November 2026.

Data cut-off 11 November 2026; prices/billing rules follow Microsoft official pages and bills; this is not procurement, architecture or legal advice.

Turn VUH, minimum billing and Playwright into a checkable budget

Bring test types, concurrency, duration, runs, engine counts and CI frequency; we turn Azure Load Testing cost into a checkable budget.

Book a Load Testing cost review