Which is the recommended Amazon EC2 instance size for creating a large (100k+ users) Ejabberd cluster?
I mean, is it more efficient/less costly to use a larger number of small instances, or a smaller number of large instances?
And are HVM images, for cluster computing, of any use for an Ejabberd cluster, or standard images will be enough for the purpose?
Choose the Amazon EC2 instance family and appropriate size for your instance. Use the system requirements you gathered and the instance family that best serves your needs to choose a specific instance type. Instance type names are comprised of the family name and the instance size.
M3 instances are the newest generation of general-purpose instances, and give you the option of a larger number of virtual CPUs (vCPUs) that provide higher performance. M3 instances are recommended if you are seeking general-purpose instances with demanding CPU requirements.
They are On-Demand Instances, Reserved Instances, Spot Instances, and Savings Plans. Amazon also offers the additional option of Amazon EC2 Dedicated Hosts.
eJabberd can use lots of memory but doesn't use a lot of CPU so memory is the biggest consideration. It really depends how many connections you're talking about. 100k+ connections you will need a large instance at least.
From MetaJacks blog (The creater of Strophe, the Javascript XMPP library)
"For Chesspark, we use over a gig of RAM for a few hundred connections. Jabber.org uses about 2.7GB of RAM for its 10k+ connections."
A large instance has 7.5GB of RAM, which isn't enough for 100k+ connections. I'd say you're looking at a 2-3 server cluster of Large instances or a High Memory Instance.
HVM is only really needed when you need hardware support that is not provided by the software virtual machine (e.g. Graphics card processing). Not required for Memory or CPU.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With