As a site gets too large for a single dedicated server to handle, it's obvious one must either A) Add more hardware resources to continue to push the limit of the single server, or B) Add more servers.
I've been pondering this idea for a while, but as I near closer to the realm of needing to go multi-server (im about 50% there.. using half of a single servers resources), I'm wondering how the basics of it work.
Obviously (I think) the same content would not go on each server (at first anyways, maybe down the line there would be home1.site.com, home2.site.com etc.. not sure). So, as a first step to going multi-server, one should break up the most CPU intensive contents into a dedicated server to serve that particular area, correct?
For example,
A dedicated database server
A dedicated content server
A dedicated mail server
popular areas of the site, such as home.site.com, search.site.com, etc
Am I correct in assuming this is how its started? Or this is how its done? I'm really confused on the concept so my questions probably don't make much sense. Although I'm sure your answers will lead me to more questions.
Cheers.
Networking - the general gist
Moderator: General Moderators
Networking - the general gist
Set Search Time - A google chrome extension. When you search only results from the past year (or set time period) are displayed. Helps tremendously when using new technologies to avoid outdated results.
-
nickvd
- DevNet Resident
- Posts: 1027
- Joined: Thu Mar 10, 2005 5:27 pm
- Location: Southern Ontario
- Contact:
First off, I'm in the same knowledge boat as you, however...
Assuming your database is on the same server as your web server, the first thing i would do is get it on its own dedicated server. It should help decrease the load on the webserver quite a bit (depending on how hard you're hitting the db).
If your site(s) grow to a point where just serving the content/php stuff is killing the box, I would look into clustering, but then again, I'm not exactly sure how to go about it. Would your app's need to know about the cluster, etc...
The Ideal situation is where you can just plug in a new box and have the load distributed amongst them. With no (or very little) code changes that will need to take place...
Assuming your database is on the same server as your web server, the first thing i would do is get it on its own dedicated server. It should help decrease the load on the webserver quite a bit (depending on how hard you're hitting the db).
If your site(s) grow to a point where just serving the content/php stuff is killing the box, I would look into clustering, but then again, I'm not exactly sure how to go about it. Would your app's need to know about the cluster, etc...
The Ideal situation is where you can just plug in a new box and have the load distributed amongst them. With no (or very little) code changes that will need to take place...