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.

demandé il y a 4 ans276 vues
2 réponses
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
répondu il y a 4 ans
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.

répondu il y a 4 ans

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions