views:

223

answers:

2

Hi, I'm working on an application that's due to launch soon and could do with some advice on how to go about choosing servers of the appropriate configuration so everything performs well.

The app is .NET 3.5, using SQL express edition for the DB. We currently have one low spec server being used as a staging environment for testing, it's pentium 4 with 2GB of memory.

Though I don't anticipate this will be sufficient once live, I'd obviously like to move the database onto it's own box with a view to upgrading to the full version of SQL Server, load balance the website from 2 other servers, I'm also investigating using memcache to keep some of the frequently used bits of data in memory.

The site also uses output caching.

We're predicting about 25,000 page views a day initially. Would be great for some people here to share their setups for websites that they have launched, and how much traffic they have successfully managed to cater for.

Thanks and Kind regards

A: 

25,000 page views a day are about 1042 an hour, or 17 a minute.

Your server should be able to handle it initially (maybe beef-up the CPU/Ram just a little bit on a new server, and keep this one as a testing server just to be safe).

If you have the money to spend, I'd start with a webserver, and a db-server (full version, not express).

If the load increases, add more front-end webservers.

Osama ALASSIRY
If predicted = 25k, then actual might be 50k, or 100k. Unless distribution across time zones is even, that might be most of the traffic in 12hrs, not 24. So that 17 a minute could easily be 8x as much (4x for the daily, 2x for 12/24).
ChrisA
+1  A: 

If you want to know what is possible and BEST Practices I would suggest you take a look the High Scalability website.

In general (as you have said) I would put the database onto is own server as step one. Unless your doing something very process intensive on the web server I would spend the money on the DB server because IMHO it will make more of a difference.

AS a minimum for spec I think 2+ gigs, Dual core(2.0+) with SCSI drives should be a good starting point.... but again this is just speculation I have no idea what your setup looks like and how much fine tuning you have done.

It’s really hard to make a call on how much hardware you need until you have load tested it. I would suggest load testing your current server for your expected page views and make a call from there.

There is also other tools to make the most of your Hardware such as Yslow and the Database Engine Tuning Advisor in MSSQL 2005. As I am sure you know creating a few simple indexes can make all the difference in the world.

cgreeno