Large website architecture: MySpace Architecture

Source: Internet
Author: User

Myspace.com has 65 million subscribers and is one of the fastest growing websites on the Internet, with 260,000 new users registered every day. It is often accused of performance problems, and MySpace has to deal with problems that are rarely encountered by other websites, either large or small. How did they do it?
Site: http://myspace.com
Site: http://myspace.com

Platform
• ASP. NET 2.0
• Windows
• IIS
• SQL Server

Internal running status?
• MySpace processes 1.5 billion page views every day and processes 2.3 million concurrent users during the day

• Member user milestones
-500,000 users: simple and bumpy Architecture
-1 million users: painful vertical segmentation for scalability
-3 million users: Scale-out is better than scale-up (Increase Proportionally)
-9 million users: the site is migrated to ASP. NET, adding virtual storage
-2.6 million users: MySpace has 64-Bit Technology
• The 500,000 accounts are too costly for two web servers and one Database
• 100-200 million accounts

-They use a database architecture and provide different services, such as interface logon, user data, and blog websites, with separate databases.
-The Vertical Split scheme helps to separate the workload of reading and writing databases, and when users need a new feature, MySpace will add a new online database to support it.
-MySpace switches from a storage device that directly uses a server attached to its database to a storage area network (SAN), where a large number of disk storage devices are composed of a high speed, A dedicated network is connected to a database and a SAN is connected to the database. The change to San improves performance, normal running time, and reliability.

• 3 million accounts
-The Vertical Split solution does not last for a long time because they repeat some horizontal information like a user account that crosses all vertical slices. If there are so many duplicates, it will slow the system down and will definitely fail.
-Personal applications, such as blogs on sub-departments of a web site, will grow to a large extent for a single database server.
-Logically reorganize all core data into one database
-Divide basic user information into blocks of accounts 1 million, and then place all key data in these accounts of different SQL Server instances.

• 9 million-17 million account
-After being migrated to ASP. NET, fewer resources are used than the previous architecture. Running new code on 150 servers can do the same work on the first 246 servers.
-Let's look at the storage bottleneck. Implementing San solves some of the original performance problems, but now the demand for web sites is intermittently higher than San's I/O capability-It reads and writes from disk storage speed
-The separation of 100 accounts for each database has reached the limit because the limit has been exceeded;
-Migrate to a virtual storage architecture where the entire San is treated as a large storage pool and no specific disk is required to serve specific applications. Now
MySpace has been standardized in terms of devices in terms of 3pardata, a relatively new San vendor. A high-speed cache layer is added-the server is placed between the Web server and the database server. Its only task is to capture copies of data objects frequently accessed in the memory and then use them for Web applications, database query is not required.

• Account No. 26 million
-Migrate to a 64-bit SQL Server to solve their memory bottlenecks. Their standard database server is configured with 64 gb ram.

What is Myspace's experience?
• You can use Microsoft technology to build large websites.
• Cache should be used from the very beginning.
• High-speed cache is a better place to store temporary data. For example, when a website traces a temporary file generated by a session of a specific user, it no longer needs to be recorded in the database,
• Embedding OS features to detect denial-of-service attacks can cause undefinable errors
• Distribute data to different data centers in different geographical locations to avoid power outages.
• Consider using a virtual storage/Cluster File System from the very beginning. It allows you to access a large number of concurrent Io resources without any restructuring.

References:
• Inside Myspace.com
Internal Myspace.com

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.