Joel Liu's Library tagged → View Popular, Search in Google
Jun
22
2011
-
The first reason is that system itself might just break down because it is the wrong way to do it. Sam Saffron put this perfectly when he was interviewed at MIX: “By adding more servers all we would really be doing is distributing the slow”. (Why is turning non-nouns into nouns so catchy?). The other reason is that the cost to throw more hardware at the problem starts to become untenable.
-
- Code and script management tasks. When you have 3 servers you may not need to do this, you can probably do it by hand. However, when you have 100 you will have no choice.
- Use algorithms and data structures that are efficient.
- Use caching effectively.
- Document tasks so you are not a single point of failure and so you don’t have to relearn things every time.
- Use centralized authentication, configuration management, updates, etc.
- Use automated building and deployment processes.
Do more with less
You can start to become scalable very early on, even with only a few servers. There are lots of ways we generally practice scalability, a few examples are:
-
Why disgusting? Personality is the antithesis of scalability. With a large number of servers, each with their own personality, you will need more administrators, and a chaotic management structure. The Borg are the good guys. This is because of some of the distinct advantages of being more like the Borg:
-
At Stack Exchange, we have done a good job at achieving this with our web tier. We do have 1 staging web server, but for our other 9 web servers, the seventh is just seven of nine. George has made a deployment process which includes everything we need, making any web server disposible, and a new one ready for assimilation. Should one of them be destroyed, the others will automatically take over without concern. However, in some areas we are still more like the Federation. We have 4 database servers, and we have noticed areas where our db01/db02 pair is unlike our db03/db04 pair. If one of our primary servers fail, we will mourn the loss as we carry out a manual fail over process. If we were more like the Borg in this area, we could initiate self destruct on one of these servers without a care as the Borg queen would do.
-
- Dell R610
- 1x Intel Xeon Processor E5640 2.66 GHz Quad Core with 8 threads.
- 16 GB Ram
New Servers:
-
We now keep all the web server configs the same so adding another server for a site is just a load balancer change. So currently stackoverflow.com runs on 6 servers (3 servers dedicated for stackoverflow only).
- 3 more annotation(s)...
-
- 95 Million Page Views a Month
- 800 HTTP requests a second
- 180 DNS requests a second
- 55 Megabits per second
-
- 1 Rack with Peak Internet in OR (Hosts our chat and Data Explorer)
- 2 Racks with Peer 1 in NY (Hosts the rest of the Stack Exchange Network)
Data Centers:
- 1 more annotation(s)...
1 - 4 of 4
Showing 20▼ items per page
Top Contributors
Groups interested in stackove...
Highlighter, Sticky notes, Tagging, Groups and Network: integrated suite dramatically boosting research productivity. Learn more »
Join Diigo
