MySpace and ASP.NET

Published 7 December 6 9:44 AM | Ramon Smits

I just read Paul Winson's post about the fact that MySpace uses ASP.NET. I know this for months but just creates more questions about how MySpace is build.

  • Do they use c#, vb?
  • Do they make use of the standaard system.web.* controls?
  • What kind of application layers do they have?
  • How do they manage state? Viewstate, cookies, sql, in memory?
  • What kind of data caching do they use and in which parts?
  • How do they manage data persistancy?
  • How big is there web+sql farm?
I've heard rumours that the total processing power for MySpace exceeds that of Google worldwide!

What I read about persistancy is that they have choosen iBatis.NET. They support three environments: Java, .net and Ruby. I have not yet tested this persistancy O/R framework but I am wondering if it also works with Mono :-).


Update:
I just found the following information about the hardware in use for MySpace:
MySpace's extensive IT architecture currently features 2,682 Web servers, 90 Cache servers with 16GB RAM, 450 Dart Servers, 60 database servers, 150 media processing servers, 1,000 disks in a SAN (storage area network) deployment, three data centers and 17,000MB per second of bandwidth throughput.

...

MySpace currently sets aside about 100 terabytes for MP3s and videos, and another 200TB for dynamic content.

...

MySpace is deploying Isilon Systems' software for MP3 and video streaming, clustering systems together in order to spread files and data across multiple storage nodes. The technology also reduces storage capacity constraints, since new nodes can be added as necessary. Originally starting off with a two-node 3PAR frame, MySpace has since upgraded to an eight-node cluster. Each storage node delivers 600 megahertz per second, while each cluster spits out 10G bits per second.

So this seems like an impressive hardware setup :-)

Well that makes you wonder what  will happen to this setup when MySpace will expand to China as is mentioned in the media the last couple of months.


Filed under: ,

Comments

# Dennis van der Stelt said on December 7, 2006 1:20 AM:

Easy dude...

http://sessions.mix06.com/

Look for presentation : NGW046

They explain there how the infrastructure is done, but this includes microsoft.com and a lot of other websites.

Some quick numbers

110 Websites

1000's applications

2138 databases

80+ GIGABITS PER SECOND!!!

For MySpace.com

They started with a 2 tier architecture. 2 tier in Microsoft architectures, that's ASP.NET and your database server :)

3 Internet Data Centers

2682 Webservers

650 Database servers

90 cache servers, 16GB RAM

3000 disks in SAN architecture

Every database is currently loaded with 32GB RAM. They had problems with 32bit servers because they couldn't handle memory pools. 64bit servers can handle this now! :)

Now THOSE are the kind of numbers I wish I could work with some day. I'm currently at a client where we're setting up multiple 64bit servers with 4 cpu's each in a clustered environment, setup over multiple locations to prevent fallout on one location. We've got about 6 webservers and 3 database servers this way. This is fun! :D

# Saber Karmous said on December 9, 2006 5:12 PM:

Hmmm, I wonder what "our" Dutch Hyves is made of. That thing is always slow, and performance very unpredictable. Every time I visit that site, I'm convinced I could do a better job...