Skip to main content
No Result Found
Connect and get help from 7,000+ developers on our Discord community. Ask the CommunityAsk the Community

Real-time load injection

Add virtual users or extend the duration of a running load test without stopping and re-queuing it.

Real-time load injection lets you adjust a load test while it’s running. Add virtual users or extend the duration without stopping and re-queuing the test, so you can find a system’s breaking point or capture a failure window in one session instead of several throwaway runs.

It applies to both API load tests, which use k6 or JMeter, and browser load tests, which use Playwright or Selenium. The change takes a few clicks mid-run.

A virtual user (VU) is one simulated concurrent user that generates load. Your plan sets the maximum number of VUs you can run at once.

Prerequisites

  • A load test that is currently running. Live Controls appear only on in-progress tests.
  • Real-time load injection enabled for your account. If you don’t see the Live Controls panel on a running test, contact your BrowserStack account team to enable it.
  • Enough VU headroom on your plan. You can add VUs only up to your plan’s total VU limit.
  • Permission to create or edit tests in the project. This is the same permission used to start a test.

What you can change

The following changes are available based on your test’s load profile:

Test type Add VUs Extend duration
Constant VUs Yes Yes
Ramping VUs Yes, during a Hold stage only Yes, during a Hold stage only
Per VU iterations No No

A few rules to know up front:

  • You can add VUs once and extend the duration once per run.
  • Iteration injection isn’t available. You can’t change the per-VU iteration count mid-run.
  • Hybrid runs, which combine API and browser tests, aren’t eligible for real-time load injection.
  • For Ramping VUs tests, changes apply only while the test is in a Hold stage with a steady VU count. The controls are disabled during ramp-up and ramp-down. This works the same way for API and browser load tests.

Add virtual users to a running test

Open the running test to its live view. The Live Controls panel appears on the right.

In Virtual Users, enter the number of VUs to add, for example +50. The panel shows your current and maximum VUs, for example 250 / 800.

Click Apply change. A confirmation dialog shows the new total and how the VUs split across your test’s regions:

+50 VUs (new total: 250 → 300)
Split across your regions:
  us-east-1     : +30
  eu-central-1  : +15
  ap-south-1    : +5
Estimated time to take effect: around 2 to 3 minutes

Review the split, then click Confirm.

The panel shows a provisioning state while the new capacity spins up, for example 250 → 300 (provisioning). Adding VUs takes roughly 1 to 3 minutes as capacity comes online. When the VUs are live, the count updates and the Add VUs control is replaced by a VUs added marker.

The per-region split follows the region ratio you chose when you created the test. Small additions might land entirely on your higher-share regions. The confirmation dialog always shows the exact split before you apply.

Extend a running test’s duration

In the Live Controls panel, find Time remaining.

Choose how much time to add, for example +5 min or +15 min.

Click Apply change, then Confirm. The change takes about a minute to take effect.

The run’s end time and timeline extend right away. Once applied, the duration control is replaced by a Duration extended marker.

For a Ramping VUs test, extending the duration lengthens the current Hold stage. The remaining stages run as configured after the extended hold ends.

How added VUs are distributed across regions

If your test runs across more than one region, the VUs you add are split across the same regions using the ratio you set when you created the test. You always see the exact split in the confirmation dialog before applying.

Keep these rules in mind when you add VUs or extend the duration on a multi-region test:

  • Your plan’s VU limit applies to the total across all regions, not per region. For example, a 100-VU plan can run 80 VUs in us-east-1 and 20 VUs in eu-central-1.
  • Extending the duration applies to every region uniformly. There is no per-region split for time.
  • If a region is briefly unreachable when you apply a change, BrowserStack applies it to the reachable regions and tells you which region was skipped. See Common issues.

Limits and rules

Rule What it means
One change of each type per run You can add VUs once and extend the duration once. After that, each control shows a done marker.
A test must run for a few minutes before you can add VUs Brand-new runs can’t take VUs yet. If a run is too short, extend its duration first, then add VUs.
Total VUs can’t exceed your plan limit Adding VUs is rejected if it would push your total past your plan’s maximum.
Ramping tests allow changes during the Hold stage only VU and duration changes are allowed only while the test holds at a steady VU count.
Changes are blocked in the final stretch of a run Near the end of a run, adding VUs is disabled because there isn’t enough time left for new load to take effect.

Verify your change worked

  • Live Controls panel: the changed control switches to a VUs added or Duration extended marker, and the VU count or time remaining updates.
  • Run summary: hover over the VU count or duration field on the run’s summary to see the change that was applied, without opening the panel.
  • Run report (PDF): completed runs include a Real-time load injection section that lists each change, with its time, type, before and after values, and status. The section is omitted if no changes were made.

Common issues

Message Cause What to do
Plan limit reached The VUs you’re adding would push your total past your plan’s maximum. Add fewer VUs, or upgrade your plan.
This test is too short to add VUs The run hasn’t been going long enough to accept VUs. Extend the duration, or wait a couple of minutes, then add VUs.
Inject during hold phase A Ramping VUs test is in a ramp-up or ramp-down stage. Wait until the test reaches a Hold stage, then apply your change.
Add VUs control is disabled near the end of a run The run is too close to finishing for new load to take effect. Extend the duration first if you still need more load time.
Locked, retry Someone else is changing the same test right now. Wait a moment, then try again.
Applied to some of your regions, a region was unavailable A region couldn’t be reached when you applied the change. The change took effect in the other regions. Review the per-region outcome in the run report.
The control already shows VUs added or Duration extended You’ve already made that change on this run. Each change is allowed once per run. N/A

Next step

  • API load testing: set up an API load test with k6, JMeter, Gatling, or Locust.
  • Browser load testing: set up a browser-based load test with Selenium, Playwright, and more.
  • Load zones: choose regions and distribute VUs when you create a test.
  • Load profiles: understand Constant VUs, Ramping VUs, and Per VU iterations.

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked





Thank you for your valuable feedback

Is this page helping you?

Yes
No

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked





Thank you for your valuable feedback!

Talk to an Expert
Download Copy Check Circle