« Should I use LAMP or Windows? | Main | mixi.jp Architecture »
Wednesday
Jul112007

Friendster Architecture

Friendster is one of the largest social network sites on the web. it emphasizes genuine friendships and the discovery of new people through friends.

Site: http://www.friendster.com/

Information Sources

  • Friendster - Scaling for 1 Billion Queries per day

    Platform

  • MySQL
  • Perl
  • PHP
  • Linux
  • Apache

    What's Inside?

  • Dual x86-64 AMD Opterons with 8 GB of RAM
  • Faster disk (SAN)
  • Optimized indexes
  • Traditional 3-tier architecture with hardware load balancer in front of the databases
  • Clusters based on types: ad, app, photo, monitoring, DNS, gallery search DB, profile DB, user infor DB, IM status cache, message DB, testimonial DB, friend DB, graph servers, gallery search, object cache.

    Lessons Learned

  • No persistent database connections.
  • Removed all sorts.
  • Optimized indexes
  • Don’t go after the biggest problems first
  • Optimize without downtime
  • Split load
  • Moved sorting query types into the application and added LIMITS.
  • Reduced ranges
  • Range on primary key
  • Benchmark -> Make Change -> Benchmark -> Make Change (Cycle of Improvement)
  • Stabilize: always have a plan to rollback
  • Work with a team
  • Assess: Define the issues
  • A key design goal for the new system was to move away from maintaining session state toward a stateless architecture that would clean up after each request
  • Rather than buy big, centralized boxes, [our philosophy] was about buying a lot of thin, cheap boxes. If one fails, you roll over to another box.
  • Reader Comments (3)

    What are the sources of your information? A lot of this information could be easily speculated.

    December 31, 1999 | Unregistered CommenterAnonymous

    I think this is the source:
    http://conferences.oreillynet.com/presentations/mysql05/pattishall_dathan.pdf

    It's from 2005, otherwise good stuff.

    December 31, 1999 | Unregistered CommenterAnonymous

    I think friendster use squid as reverse proxy.

    here is the picture :
    http://wildavy.files.wordpress.com/2008/05/friendster_squid.png>http://wildavy.files.wordpress.com/2008/05/friendster_squid.png

    i've got that message before the maintenance pages shown.

    December 31, 1999 | Unregistered CommenterWildan

    PostPost a New Comment

    Enter your information below to add a new comment.
    Author Email (optional):
    Author URL (optional):
    Post:
     
    Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>