Four Load Testing Mistakes Developers Love to Make
Article Summary
Klarna Engineering found that developers' optimism about their own code creates predictable load testing blind spots. Here are the four mistakes that keep biting teams before Black Friday.
Ben Maraney from Klarna Engineering breaks down why developers, despite being best positioned to test their code, consistently make the same performance testing mistakes. Written for teams preparing for high-traffic events, this covers the gap between quick tests and production reality.
Key Takeaways
- AWS T2 instances hit a 'burst credit cliff of doom' that short tests miss
- Reusing test data skews results through database caching and query optimization
- 100% CPU with acceptable response times can hide queued threads and buckling services
- Testing without deliberate failures misses database failovers and dependency degradation
- Load tests need steady state: stable response times AND resource usage
Extended testing until reaching steady state across all resources reveals the performance cliffs that short, optimistic tests consistently miss.
About This Article
During Black Friday load testing, developers found that their service maintained acceptable response times even at 100% CPU usage. However, JMeter couldn't reach the target throughput because all threads were stuck waiting for responses.
Instead of accepting the hardware limits, Ben Maraney's team dug into the warning signs. They increased the instance count and ran tests again to confirm the fix worked before pushing to production.
By investigating early, they caught the capacity bottleneck before Black Friday traffic hit. This prevented an outage during peak traffic.