Two 4GB servers or Four 2GB servers?

This setup will be for a purely PHP based video website, running a CDN for the video storage/bandwidth. Projecting very fast growth for the site.

Which do you think is better/wiser? In terms of performance, redundancy, security, scaling, etc.

1. Two 4GB Linode servers (One MySQL, One Apache'PHP).

OR

2. Four 2GB Linode servers (Two MySQL, TWO Apache'PHP, linked together via Two Nodebalancers).

The costs for the servers will be exactly the same for both setups, BUT the Four server setup will cost more due to needing 2 Nodebalancers + More backups + more maintenance time, and possibly the Linode Managed service.

Want to set it up right from the start, so scaling is a breeze later, and performance/uptime is critical. Which setup would you go with?

5 Replies

@Arteia:

Which setup would you go with?
I'd go with whatever setup your system architect, your system admin, and your program lead decides is best for the project.

You provide almost zero details, and then expect someone to make some type of useful comment? Anything anyone says here would be a total guess (pick up a Magic 8 Ball, it will be less stressful and just as accurate).

Also "projected very fast growth" is almost a sure sign it won't. Focus on today, get something actually working, then worry about growth when and if it happens.

Since you're having trouble setting up a simple lamp stack (this thread), I'd concentrate on the basics before worrying about huge growth and node balancers.

YMMV

Appreciate the input.

There is no system architect/admin/etc. It's just me.

Please tell me what kind of detail would allow the community to give a better answer. Will be happy to provide it.

@vonskippy:

@Arteia:

Which setup would you go with?
I'd go with whatever setup your system architect, your system admin, and your program lead decides is best for the project.

You provide almost zero details, and then expect someone to make some type of useful comment? Anything anyone says here would be a total guess (pick up a Magic 8 Ball, it will be less stressful and just as accurate).

Also "projected very fast growth" is almost a sure sign it won't. Focus on today, get something actually working, then worry about growth when and if it happens.

Since you're having trouble setting up a simple lamp stack (this thread), I'd concentrate on the basics before worrying about huge growth and node balancers.

YMMV

Two MySQL servers == you're going to need master-slave or master-master replication. If you do master-slave replication, your PHP app needs to be ready to write to the master and read from the slave. If that sounds like some alien gibberish, you should probably stick with one MySQL server. It it sounds like English, you should still probably stick with one MySQL server.

Also remember that there's always a third option:

3. One 8GB Linode server (Apache + PHP + MySQL)

Infinitely easier to deal with, all communication between PHP and MySQL will be localhost (very fast), and no need to manage firewall rules for the internal network. You could even afford a 16GB instance since you'll be saving a bunch of money on load balancing, backup and server management.

Yeah, the website will go down if your single server goes down. But most of the time, if the server goes down, it will be because you did something wrong. With just one or two servers, it's much less likely that you'll do something wrong. Take that into consideration.

To keep in mind: If downtime is something you really want to avoid, you should set up either the nodebalancer or something of your own with a floating IP.

Otherwise, reboots (at least to activate Linode's free upgrades!) or drastic config changes will result in downtime.

Separating MySQL and Apache/PHP on two boxes is almost trivially easy… it's the lowest of the low hanging fruit. If the projected traffic is high, you might as well start out at least doing that out of the gate.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct