Huge Web Server Requirements

Soldato
Joined
4 Dec 2003
Posts
2,847
Just been asked by my head to look at what sort of infrastructure we would need to support 1+ million concurrent hits to a web site.

Now most of our web stuff at present is dual iis with NLB running 2008 r2 with 2008 r2 sql clusters serving content from a 15k 4GB FC SAN. This works fine for the moment :D

Im thinking to scale up massively we would need

SSD SAN - IOPs to the DB?
Oracle - More scalable than SQL?
Linux/SUN OS?
Multiple web servers and hardware load balancers?
Perhaps 32core 64GB on the web servers and larger on the back end?


Or am I going mental and one IIS server would be fine?! :D
 
1 million concurrent users or 1 million transactions/second?

If the database transactions are required to be atomic, you will need a couple of RAMSANs, probably in some kind of active-active failover configuration. SSD will not be fast enough for this.

For 1 million concurrent users you will need at least several hundred servers in my experience, probably 500-1000 depending on the specification you go for.
 
Page views are easy - you can just use a reverse caching proxy with a very short time out (e.g. 60 seconds) which reduces the load considerably, if there is no absolute requirement that the data on the page is concurrent (this is most useful for forums with a lot of guest users, for instance).

If people are interacting with each other though, with properly dynamic page elements this is what gets expensive and you will need a lot of front end web servers to handle this, as well as the back-end capable of dealing with the transactions.
 
It's almost impossible to say without knowing the architecture, you could be fine with a handful of servers if you use hardware load balancers and front end the web app with a high performance server with nginX or thttpd - we've got boxes running hundreds of thousands of connections per second each with relatively static content on that sort of architecture.

If you've got database stuff then look at integrating something like memcached into the lookup, it's a big boost in the right workload. Lastly, forget using IIS, it isn't up to high volume stuff unless you have an absolute pot of money to spend on hardware...
 
As others have stated it depends...

IIS will not handle 1,000,000 concurrent requests to anything.

You need to do some due dilligence before you can even begin to answer this. Is it really a million users? What is their request rate? How much is static and how much is dynamic? Are some requests for dynamic info common across users and can they be cached? How are the wnd users geographically distributed?
 
Back
Top Bottom