What is load testing?
"Will it cope if we get featured?" is a question with a measurable answer. This is how you get it.
In short
Load testing is running an application under a realistic, simulated volume of users or requests to measure how it performs: response times, error rates and where it slows down. A stress test pushes beyond expected load to find the breaking point. Both are run on a production-like environment before a launch or a campaign, not discovered during one.
Also called: Performance testing
What can load testing tell you before a launch?
A prototype has never had more than a few people on it at once. Launches, press and waitlists do not ramp gently: they arrive at once. Load testing tells you in advance whether the database, the queue and the third-party limits hold, and which one gives out first.
How do load, stress, spike and soak tests differ?
They differ in the traffic they send. A load test sends expected traffic to confirm normal performance, a stress test goes beyond it to find the breaking point, a spike test sends a sudden surge like a launch, and a soak test holds steady traffic for hours to find leaks and slow drift.
- Load test: expected traffic, to confirm normal performance.
- Stress test: beyond expected traffic, to find the breaking point.
- Spike test: a sudden surge, like a launch.
- Soak test: steady traffic for hours, to find leaks and slow drift.
How is a load test shaped and run?
A load test ramps virtual users up gradually, holds them at the expected level, then ramps down. Grafana's k6 guide suggests a ramp-up of about 5 to 15 percent of the test's length and a hold at least five times longer than the ramp-up. Its example ramps to 100 users over five minutes and holds for thirty.
k6 recommends starting with a smoke test: a few users for a short time, to check the script works and the system responds. Then run the average-load test, and only then stress, spike or soak patterns. Watch for response times creeping up as load rises, and for stable performance and resource use while it holds.
How do you load test a Lovable and Supabase app safely?
Test a staging environment rather than production, script the journeys real users take at launch, expect the database to give out first, and check the limits of outside services, such as email and payment providers, before sending them test traffic. The list below explains why each step matters.
- Test a staging environment, not production, so test traffic never reaches real customers or their data.
- Script the journeys real users take at launch, such as sign-up and the core action, not just the home page.
- Expect the database to give out first: slow queries without a database index are a frequent cause.
- Check the limits of outside services, such as email and payment providers, before sending them test traffic.
The common mistake is testing a static page and calling the app ready. A home page served from a cache says little about sign-ups writing to the database at the same moment: the hard part is the database, the queue and the integrations behind it. If a launch is close and nothing has been tested, our vibe coding rescue covers it.
Common questions
What is the difference between load testing and stress testing?
Load testing checks performance at the traffic you expect. Stress testing deliberately exceeds it to see where and how the system fails. Both belong on a production-like environment before a launch. Ripply's queue, for example, was stress-tested with 25,000 synthetic waitlist entries.
How long should a load test run?
Grafana's k6 guide says average-load tests typically run 5 to 60 minutes, with a gradual ramp-up and a hold at least five times longer than the ramp. Soak tests run for hours, to find leaks and slow drift. A spike test applies a sudden surge for a few minutes.
What tools are used for load testing?
Grafana k6 is one option: a script sets how many virtual users to run and for how long, such as ramping to 100 users and holding for thirty minutes. Whichever tool you choose, start with a small smoke test before larger runs.
Go deeper
Scaling a Lovable app: what breaks firstScaling a Lovable app: why the database breaks first, how to fix indexes, connections and slow functions, and how to load-test before a traffic spike.
Related terms
Read next
Sources
- Grafana k6 documentation: load testing
- Microsoft Azure Well-Architected Framework: Architecture strategies for performance testing
- Grafana k6 documentation: Load test types
Sources checked October 24, 2026
More on this: Production architecture & security · All glossary terms
Built something in Lovable you want people to rely on?
We are the engineers who take it the rest of the way — secured, tested, released and supported.

