1 Answer
- Newest
- Most votes
- Most comments
0
A few things that you can check to start with are:
- Resource bottlenecks - Make sure the pods have sufficient CPU, memory, and I/O resources to handle the load from the ALB. Check CloudWatch metrics for any resource constraints on the pods or nodes.
- Network performance - There may be higher network latency between the ALB and pods compared to EC2 instances, depending on the VPC networking configuration. Ensure pods and nodes are on the same subnets/AZs as the ALB if possible.
- Readiness probes - The pods may not be fully ready when first receiving traffic from the ALB. Define readiness probes on the pods to delay traffic until containers are initialized.
answered 2 months ago
Relevant content
- asked 10 months ago
- asked 3 months ago
- asked a month ago
- AWS OFFICIALUpdated 8 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
hi, thank you for your response.
Resource bottlenecks - due to cloudwatch metrics, CPU/network IO does not seem to be saturated. for memory usage, I cannot find cloudwatch metrics for memory, both by autoscaling group or instance, but nginx and unicorn_rails worker memory usage is stable and total memory usage calculated from these value should be smaller than total memory of each ec2 instance. Readiness probes - we defined readiness probe and it does not seem to fail during measurement period Network performance - we put services on same AZs as much as possible (except facility for recovering from AZ failure), but eks lives in different VPC (same AZ). does this make critical difference?
any thought?
regards,
Generally, communication between resources in different VPCs will have slightly more latency than communication between resources within the same VPC. This is because the traffic must traverse the AWS global network instead of staying fully within a single VPC.
However, the difference in latency is typically small since AWS routes traffic efficiently within its global backbone.