Ok.. this is a pretty general question.
I'm currently planning the architecture of a website / web eapplication that we're predicting will be getting 20 million pageviews per month. It is very data-intensive. eg serving a whole lot of data to front-end flash objects and user controls.
I'm after any suggestions or previous experience with how to go about catering for scalability on a site like this.
We've already determined that we'll be hosting in Rackspace with 2 database servers, about 4 web servers and a load balancer running sticky sessions (eg each user gets allocated a server then stays there for their entire session).
Our current strategy is to run shared object caching across the servers with Memcached. (we thought about Microsoft's Velocity, but initial tests showed Memcached was MUCH faster.. still an option though)
So the theory is, most database requests will be stored in objects that are stored in the distributed memory cache and thus preventing most of the traffic reaching the database servers (database is always the bottleneck).
We need to explore how we will be alerting the cache when database objects change.
Any feedback or tips will be greatly appreciated.
Start Free Trial