Need help with aws services monitoring on cloudwatch

0

Hi,

This is my first post, I hope this is the correct topic for the post.

I'm doing stress tests on a microservices architecture deployed in a aws environment and I have found some throughput contention problem.

I'm using blazemeter as performance testing tool, which have integration with aws cloudwatch metrics. My metrics for aws resources are

  • Amazon Elastic Block Store
  • Elastic Load Balancing
  • Amazon VPC
  • Amazon Elastic Compute Cloud

This is the call scheme of my test

Blazemeter -> AWS LB -> ingress-nginx -> SpringBoot service

The scenario that I'm testing is as follow

Number of users: 399.

Number of endpoint/request acceded: 1

Think Time: 4 seg

Rampup: 20 min.

Hold Load: 5 min.

With this scenario, the maximum expected throughput should be 99,75 hits / seconds, but I'm only get about 65 hits / seconds.
The average response time in the 90 percentil for this test is about 93ms and the errors rate is 0%.

Looking at the springboot service resources usage, I see that it has many idle threads that can resolve the load.
It doesn't seem that there are no problems in the ingress-nginx resources usage neither.

Both springboot service and ingress nginx don't show high consumptions in system resources.

What metrics could I look at on cloudwatch to rule out or confirm that the bottleneck is not in any of the aws resource that I use. .

I can share with you additional information if needed.

Thank in advance.

gefragt vor 4 Jahren276 Aufrufe
2 Antworten
0

Hello,

How are you measuring the number of requests generated as compared to the number reaching your service?

A load balancer distributes incoming application traffic across multiple EC2 instances in multiple Availability Zones. How many EC2 are registered with the ELB?

Some key questions you’ll want to answer:

  1. How many requests/sec are being generated by Blazemeter.

  2. How many requests/sec are seen by the ELB. There are ELB traffic metric in CloudWatch as documented here: https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html#ViewingDataUsingCloudWatch

  3. How many requests are being seen by your application. You should be able to get this data from the ingress-nginx log.

Best,
Kevin

AWS
beantwortet vor 4 Jahren
0

Hello Kevin,

Thanks for your reply and sorry for my delay in the feedback.

After a few test with different throughtputs and conditions I find out that the problem was in the Blazemeter side due to a misconfiguration in the locations that generate the load.

beantwortet vor 4 Jahren

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen