1

What kind of parameters can be used to estimate how much memory and the number of CPU cores are required for a load balancer?
I have a requirement to setup LB based on Nginx to route the traffic to other nodes via TCP/IP as on other nodes that have PHP-FPM installed. SSL will terminate at Nginx and traffic to nodes is to be based on just HTTP. Max timeout to be five minutes.

I am unable to understand how many requests this Nginx LB can swiftly serve while running on a c6gn.medium (1vCPU,2GB Memory, network bandwidth up to 25GBPS) which is CPU optimized and a t4g.medium which is a burstable instance having 2 vCPU and 4GB memory. Cheers!

4
  • I would say set it up and test. It's extremely unlikely nginx is going to be a performance bottleneck in this setup. If you want HA, you need two instance meaning this setup will likely be more expensive and less reliable than just using an AWS managed load balancer.
    – jordanm
    Jul 6, 2022 at 15:16
  • @Ankur, have you checked my answer?
    – jdog
    Jul 12, 2022 at 20:44
  • @jdog yes I did
    – Ankur
    Jul 15, 2022 at 9:11
  • @Ankur, if it solves your problem I would appreciate if you accepted it.
    – jdog
    Jul 15, 2022 at 21:35

1 Answer 1

0

There are 2 ways I can think of to solve this problem:

  • You can use your own data points from your own experience or others: One datapoint I can provide is ~70,000 sessions per month, probably 50 connections per page request, 1MB page size and maybe 1.5-2 pages per session was running on Nginx 1.14 on a t3.medium. I don't recall ever getting charged for CPU credits, so the CPU usage can't have been ever above 20% over 24h. I do recall upgrading from t3.small at some point, so it must have been memory usage. ~200 vhosts and their TLS certificates.

  • You can use Route53 weighted routing and distribute the traffic to say a c6gn.xlarge (to be super save) and a t4g.medium and then slowly dial up the percentages and watch CPU, memory, network and disk throughput until you notice bottlenecks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.