Monday, March 4, 2019

mysql - Nginx Load Balancer Optimum Specs




I have 3 Nginx servers and each of them should handle about 2k users (concurrent connections). In front of them I have Nginx load balancer.



That's 4 Virtual machines, sharing same subnet and same physical machine. I would like to know, what VM specifications should I use for load balancer?



I have no experience with load balancing and have never done any tests, so I while I know what specs I need for my App Servers, I have no idea what should I use for nginx load balancer. Right now I'm thinking about 4 cores / 4GB RAM / 4GB HDD. What that be enough for load balancer?



Offtopic queston: Is it possible to configure mysql so that when one mysql DB is updated, so is another. Sort of like master/slave configuration or something like that?


Answer



In order to have some redundancy and avoiding single point of failure (like the droid station was in Phantom Menace) you actually should have 2 balancers and VRRP/CARP between them. So, it's 8k connections in total. The specs you are proposing will fit. I think even 2-cored CPUs will be enough.




And I see no point creating 4 VM on one physical. When this physical node will die, so will the VMs. If we talk about a VM setup, you should use at least 2 physical nodes for 4 VMs - 2 balancers and 2 backends. If you have only one machine, using it in old-fashioned server way will do the same. It's single failure point anyway.



Mysql: Yes, it's called replication.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...