
|
View Full Version : 1,000,000 Hits an Hour Server suggestions
elitehst 03-10-2004, 10:11 PM Here's a question for you. I have a client that will be needing in the near future a multiple server setup to handle 1million hits/hour. All of these hits will require database calls (still unsure of which database engine). What sort of configuration would you suggest? We were thinking of having a total of 5 Dual Xeons.??? Can Anyone Help?
Thanks,
Bill
123finder.com 03-10-2004, 11:02 PM You probably need a load balancing scheme. Here are some links for software solutions.
Links:
- http://www.linuxvirtualserver.org/
- http://www.ultramonkey.org/
- http://siag.nu/pen/
- http://www.inlab.de/balance.html
- http://dmoz.org/Computers/Software/Internet/Site_Management/Load_Balancing/
Go for a Foundry ServerIron if it's in your budget. ;)
Cirrostratus 03-10-2004, 11:23 PM Which OS is the current site running on? Is the site based on php, jsp, asp?
You could also look at a lowcost OpenBSD+pf+altQ for the firewall load balancing and if you want failover you can look at OpenBSD CARP+pfsync.
http://www.openbsd.org/faq/pf/index.html
BobFarmer 03-10-2004, 11:25 PM We've done implementations like this many times. Scalability and redundancy are very important factors. A good hardware load-balancing switch (we use Cisco CSS-11000 series switches, but the Foundry ServerIron is great too) is critical. It lets you scale by adding more machines, it lets you setup all kinds of wonderful features, and most importantly it does exactly what it is supposed to do.
Balancing load is one thing that is somewhat misunderstood. At first glance you might think to get the most powerful servers you can imagine, and the least number of them required for the job. This is not necessarily the best option. First, you need to ensure you have enough power to run your site even with an acceptable number of servers down due to failure or maintenance. Thus if you have 3 servers and you need all 3 for your site to perform and one goes down, each of the other 2 remaining servers will be at 150% capacity. This is certainly not a good thing. In this case you'd want at least 4 servers in the cluster. Each would operate at 75% capacity. When one server goes down, the other 3 would be left operating at 100% capacity. If you went with a lighter configuration you could then have a higher quantity of servers for the same price doing the same amount of work. In this case you'd be passing a lower percentage of work to the other servers in the cluster when any one server fails.
The next thing I'd suggest is to look into your database operations. Are there alot of writes, or few writes and mostly reads? With the proper code modifications you can have a master database server that handles all the writes and slave out copies of the database to each webserver to handle local reads. This gives you alot more CPU power for handling read operations since each server would be doing its own share. The added benefit here is you have no network latency in supporting read operations as you would with a network attached, separate database server.
That's just a few suggestions--I could go on for pages. I hope that helps.
123finder.com 03-10-2004, 11:57 PM I have a question though, for database, what happens if there are lot of writes compared to reads (say 10 writes, 1 reads, for a log system). How does a one write master server, many read slave servers scale? (since the writer will eventually get overloaded)
viGeek 03-11-2004, 12:06 AM Definately going to need load balancing, seperate servers for seperate jobs (one for static, one for DB etc)
Dual Xeon 3.2's w/couple GB of ram should do it for each server.
We have just done one setup similar to this, if you're interest in our diagrams, then drop me a line off-list, and i'll send them over to you.
mistwang 03-11-2004, 03:19 PM Have you ever thought about using a high performance web server software like Zeus, or our affordable Litespeed web server other than clustering/load balancing?
With litespeed, depends on the web application, probably only one web server machine is required for such volume of traffic, you may need multiple DB servers in order to sustain such load though.
In order to introduce our product to the web hosting community, right now we provide FREE production licenses and help to setup the web server software for large sites. Please contact us at info@litespeedtech.com if interested.
George
illogix 03-11-2004, 03:33 PM :spam:
Cirrostratus 03-11-2004, 03:35 PM Originally posted by illogix
:spam:
Can I get a order of scrambled eggs with that?
mistwang 03-11-2004, 04:22 PM Originally posted by illogix
:spam:
Oops!
Sorry, I just want to give some suggestions that might help, it might violate the forum rules. Moderator, please remove my previous post if necessary.
My apologize.
Ishtaria 03-14-2004, 10:06 AM Something that you might want to look into is a distributed database architecture. I found this company who offers a distributed version of mySQL:
http://www.EmicNetworks.com
I don't have any experience with them, but I got the link from the mySQL web site when I was trying to see if mySQL offered distributed architecture.
It isn't cheap, but it is a LOT cheaper than something similar offered by companies like Oracle, Sybase or Microsoft.
Tim
|