Skip to content

Spike Testing

Vikrant Deshpande edited this page Mar 6, 2022 · 3 revisions

We reused the scripts produced during the system's load-testing and added an Ultimate User Thread Group for Spike Testing. We could make all threads sleep and bombard the service at the same time by configuring the Initial Delay time.

We bombarded the system's gateway with up to 10,000 concurrent users to be routed to each microservice. Scaling the system from one to three to five replicas, we were able to see significant improvements in the throughput and lower error rates.

We could deduce from our tests that our system can easily handle loads of 1000 concurrent users with an error rate of less than 0.5 percent for any requests made to the service. The capacity of the system can be enhanced to accommodate workloads of ~10,000 users with a high error rate for a single replica.

Some implementation logic needs to change to better manage the requests, such as modifying the async/await calls in the gateway-service to avoid bottlenecks for all requests.

Test Plan used for spike-testing:

Testing-plan

1 set of replicas for each microservice:

Key Takeaways:

Aggregate-response-time-1

Overall-response-times-1

3 set of replicas for each microservice (Load balancing enabled):

Key Takeaways:

Aggregate-response-time-3

Overall-response-times-3

5 set of replicas for each microservice (Load balancing enabled):

Key Takeaways:

Aggregate-response-time-5

Overall-response-times-5