views:

464

answers:

4

Hi There,

I'm starting to build a community website from the site up and my web framework will be Asp.net and Mysql.

I want to start planning some scalability into the infrastructure early because I'm anticipating high traffic when the site goes live.

Are there any case studies which you recommend reading where asp.net or mysql has been scaled and which demonstrates good scaling techniques?

+13  A: 

I think it could be a challenge to find reference materials for that particular combination. Many .NET shops stick to SQL Server, and fewer use MySQL (at least at scale).

In general it would be appropriate to:

  • Follow general .NET practices for scalability. Weed out what is not appropriate for you.
  • Learn about database performance and implications of various design strategies such as denormalisation (when and why).
  • Consider out-of-process caching like memcached.
  • Review books on MySQL performance. Most of these are focused on UNIX platforms. Windows users may have problems applying some of these practices.
  • Read up on how other people are scaling their sites (Building Scalable Sites and The Art of Capacity Planning)
  • Consider how you might optimise your web design to be more scalable. Are you using AJAX? Work out what the impact of excessive polling may be etc.
  • Learn how to measure the performance of your application and database (starting points ASP.NET and MySQL).
  • Develop a plan for scaling your architecture (1 server to 2 servers, to multiple servers etc) so that you have some frame of reference for making decisions about building things in your system.
BrianLy
+2  A: 

BrianLy said it best here:

"Develop a plan for scaling your architecture (1 server to 2 servers, to multiple servers etc) so that you have some frame of reference for making decisions about building things in your system."

As a forum I frequent says, 'quoted for truth'. All of his points are excellent, but this one is a key point that many people overlook. It doesn't matter how scalable your code and database are if you are running on a creaky old server. The hardware may not be as important as your code, improving it beyond a certain point will give diminishing returns VERY quickly, but do NOT forget to get your hardware to that point. If you have crap hardware, or even good hardware but not enough of it, your site will bomb out.

Jeff
Excellent point. Whilst Google can use a lot of cheap hardware to get by on volume along, someone starting up can spend a lot of time and money nursing poor hardware. Cheap out on hardware once you have a plan for dealing with the failures.
BrianLy
+4  A: 

I only know of one really good resource to read case studies about scalability techniques and I am really surprised no one has mentioned it. High Scalability

There is so many examples of "out of the box" thinking that and different techniques for scaling that I think it makes a good read for anyone who is interested in the topic.

cgreeno
+1 for highscalability.com
Robin
+1  A: 

For mysql scaling, you may find this interesting: danga livejournal

SorinV