What's best for production 1 'good' server or many 'middle' servers


#1

Hi, I am planning to release my app into production pretty soon, and I was wondering for Meteor which approach would be better for the deployment setup:

Option 1: To have one $40/month droplet on Digital Ocean with:

  • 4GBMemory
  • 2 CoreProcessor
  • 60GBSSD Disk
  • 4TBTransfer

and to pass all the traffic from my URL to that server.

Option 2: To have two $20/month droplets on Digital Ocean with:

  • 2GBMemory
  • 2 CoreProcessor
  • 40GBSSD Disk
  • 4TBTransfer

and use nginx with upstream as a load balancer to choose which server to send and retrieve the info from.

Option 3: To have four $10/month droplet on Digital Ocean with:

  • 1GBMemory
  • 1 CoreProcessor
  • 30GBSSD Disk
  • 2TBTransfer

and also use nginx with upstream as a load balancer to choose which server to send and retrieve the info from.


#2

Would like to bump this up, see is someone can have an answer…


#3

Hi @cosio55 - what load do you suggest for your app?

How many clients will connect (approach) and how many subscriptions do you use per client?

You may find useful information about node and threading/using cores in here at this stackexchange post.

As I know by now, meteor does not use builtin cluster so it should be true, that meteor (node main.js) will only use one core per process.

That does mean, that you need some work for your other cores on multicore machines. You may start more times your app on different ports and load balance on one machine as well. from our experience, this speeds up the system as long as you have cores and your mongodb is fast enough.

I really looking forward to others for their experiences on scaling options.

Cheers
Tom