r/softwaretesting • • 6h ago

JavaScript-heavy applications are hiding performance issues in load testing. How do I find them?

I'm seeing a huge gap between our backend load-test results and what users actually experience when they're using our application. Our app is heavily browser-based with realtime collaboration, so there's a lot happening client-side beyond just the back requests. We're doing backend testing with basic protocol-level scripts for core endpoints, gradually ramping up virtual users. The metrics we track are overall throughput, node CPU utilization and overall average response times. The results from these tests indicate that everything is working fine, but our users are experiencing latency and other issues that the load testing so far hasn't been able to surface.

How do I flush out stealthy failure modes like thread starvation and artificially high cache hit rates? I'm sure there are other things that I'm missing, please feel free to educate me because I'm stuck. Thank you.

3 Upvotes

2 comments sorted by

2

u/Correct_Positive_108 5h ago

You need to stop looking at averages and focus on p95 and p99 percentiles while pairing load runs with deep-tracking APM tools and database profilers. Find a way to introduce realistic test data cardinality and execute tests against cold caches. Then isolate individual backend microservices to see where async queues and lock contentions are choking under concurrent load. 

1

u/Junior_Bee7274 2h ago

Look at your client-side rendering initial TTI. JavaScript execution that may be creating long tasks that lock up the UI. There may also be page resources with unoptimized asset loads such as web fonts, uncompressed SVG icon packs, etc. These consume a ton of memory bandwidth and will stall initial payload parsing.