Root cause under sustained load
Challenge
An e-commerce platform needed to know how many concurrent users it could sustain before a campaign.
Approach
Stepped tests of 50, 100 and 300 concurrent users over the end-to-end purchase flows, with dynamic data correlation between steps; the 100-user test was sustained for 1 hour. Relampo results were cross-checked with server logs and infrastructure metrics from the same window.
| Indicator | Result |
|---|---|
| Load levels | 50, 100 (1 hour) and 300 concurrent users |
| Requests executed (100-user test, 1 hour) | 221,328 |
| P95 up to 99 users | 180–358 ms, no errors |
| Degradation threshold | 100 users: first error ~38 s after reaching them |
| 300-user test | More than 50% failures: confirmed the system limit |
| Root cause | Concurrency contention in the database (locks between transactions) |
| Recommendation | Operate provisionally with ≤90 users until fixed and retested |
Value
The first load error matched, to the second, the first lock recorded in the database. With that, the team knew where to act: it did not need more CPU or more nodes, but to fix concurrent data access. The analysis also separated primary failures from cascading ones, so nobody chased symptoms.