Concept : Test Site With 1 Million Concurrent Users

Submitted by joezine on Sun, 03/07/2010 - 01:10

ช่วงนี้ Failed เรื่องงานนิดหน่อย ปัญหามีอยู่ว่าไม่มีความรู้เรื่อง Optimize System พอ ทั้งเรื่อง Database และ Web Server ที่ต้องรองรับให้ได้ 5,000 concurrent เจอคนทำงานที่ค่อนข้างแข็งและจริงจัง มืออาชีพ ทำให้ปรับตัวไม่ทัน

วันนี้อ่าน High Scalability เจอ Entry โดนใจเหลือเกิน “How MySpace Tested Their Live Site with 1 Million Concurrent Users” สรุปย่อไว้ดีกว่า แม้จะไม่มีที่ลงแบบ Deep Detail ก็เถอะ (และออกแนวโฆษณาไปนิด)

พูดถึง Test กรณีที่ไม่มี Resource เยอะขนาดสร้าง Load Generator จึงต้องใช้ Amazon EC2

Environment

Load Generator

  • 7.5 GB memory
  • 4 EC2 Compute Units (2 virtual CPU cores with 2 EC2 Compute Units each)
  • 850 GB instance storage (2×420 GB plus 10 GB root partition)
  • 64-bit platform
  • Fedora Core 8

Test Controller and Results Database

  • 15 GB memory
  • 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each)
  • 1,690 GB instance storage (4×420 GB plus 10 GB root partition)
  • 64-bit platform
  • Fedora Core 8
  • PostgreSQL Database

Design ของการ Testing

myspace
(มี ProgreSQL สำหรับเก็บ Log และ Gen Report)

ผลลัพธ์ที่เกิดขึ้น

  • 1 million concurrent virtual users
  • Test cases split between searching for and watching music videos, rating videos, adding videos to favorites, and viewing artist’s channel pages
  • Transfer rate of 16 gigabits per second
  • 6 terabytes of data transferred per hour
  • Over 77,000 hits per second, not including live traffic
  • 800 Amazon EC2 large instances used to generate load (3200 cloud computing cores)

น่าเสียดายที่ไม่มีรายละเอียดว่า แล้ว Solution ของ MySpace คืออะไร ? แต่วิธี Test Case โดย ab คงไม่สามารถบอกผลลัพธ์ได้แล้ว

Tags: | »

Post new comment

The content of this field is kept private and will not be shown publicly.
  • You can use Markdown syntax to format and style the text. Also see and Markdown Extra for tables, footnotes, and more.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo]. PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

More information about formatting options