Hostovat Facebook je práce pro 30 tisíc serverů

Nedávno byl na serveru Center for Networked Systems publikován záznam přednášky Jeffa Rothschilda, který je viceprezidentem pro technologie ve Facebooku. Přednáška s názvem „High Performance at Massive Scale: Lessons Learned at Facebook“ přinesla mnoho zajímavých faktů, které jsou především ze středoevropské perspektivy těžko představitelné. Posuďte sami.

Jaký nápor musí servery Facebooku vydržet?

  • Facebook je globálně na 2. místě, pokud se budeme bavit o webech z pohledu času, který uživatelé stráví na jeho stránkách
  • Každý měsíc uživatelé shlédnou 200 miliard stránek.
  • Více než 15 000 serverů využívá Facebook Connect.
  • V roce 2004 zaznamenal Facebook exponenciální růst se 2 miliony uživatelů, dnes má růstová křivka také exponenciální průběh, ale s 350 miliony uživatelů.

Uživatelé Facebooku rádi sdílejí fotky:

  • Uloženo je celkem 20 miliard fotek ve 4 různých rozlišeních.
  • Každý měsíc nahrají uživatelé 2 až 3 miliardy nových fotek.
  • Uživatelé si každou sekundu vyžádají 600 tisíc fotek.
  • Tohle vše zajišťuje systém Haystack, který při „servírování“ fotek snižuje počet nutných I/O operací o 90% na principu spojování více souborů do jednoho velkého.

Výpočetní infrastruktura Facebooku se skládá z následujících částí:

  • Prezentační vrstva je založena na PHP z důvodu „simple to learn, simple to write, simple to read“
  • Neblahým důsledkem je vysoké vytížení procesorů a operační paměti serverů.
  • Back-end je napsán v jazyce C++, Facebook si pro tento účel vytvořil vlastní framework Thrift, který usnadňuje vytváření nových služeb.
  • Logování? V určitém stádiu přestalo fungovat tradiční logování, proto bylo nutné najít nové řešení. Scribe dnes zpracuje 25 TB zpráv každý den.
  • Data jsou uložena ve velkém clusteru MySQL serverů, většina těchto dat je ale zároveň uložena v paměti memcached serverů pro rychlejší přístup. Hlavním důvodem je hlavně vysoká provázanost všech uložených dat.
  • Původní zátěž serverů se pohybovala okolo 15-20 tisíc požadavků za sekundu na každý stroj. Dnes se zátěž zvýšila na 250 tisíc požadavků/sekunda/stroj.
  • Facebook provozuje 2 obří datová centra, jedno na západním a druhé na východním pobřeží Spojených států.

Až tedy budete příště aktualizovat svůj profil na Facebooku nebo nahrávat fotku svého miláčka, dvounohého či čtyřnohého, do fotoalba na Facebooku, vězte, že někde za oceánem se technika řádně potí :)

17 KOMENTÁŘŮ

  1. [...] This post was mentioned on Twitter by Active24.cz and Jan Horna, Petr Doseděl. Petr Doseděl said: RT @active24cz: Hostovat Facebook je práce pro 30 tisíc serverů + další zajímavá čísla o FB na http://digs.by/yhP [...]

  2. Hryzalek.cz napsal:

    # Facebook je globálně na 2. místě, pokud se budeme bavit o webech z pohledu času, který uživatelé stráví na jeho stránkách
    //Která služba je první? :-o

  3. Hryzalek.cz napsal:

    # Facebook je globálně na 2. místě, pokud se budeme bavit o webech z pohledu času, který uživatelé stráví na jeho stránkách
    //Která služba je první? :-o

  4. M. napsal:

    „Facebook je globálně na 2. místě, pokud se budeme bavit o webech z pohledu času, který uživatelé stráví na jeho stránkách “

    - Kdo je teda PRVNÍ ?

  5. M. napsal:

    „Facebook je globálně na 2. místě, pokud se budeme bavit o webech z pohledu času, který uživatelé stráví na jeho stránkách “

    - Kdo je teda PRVNÍ ?

  6. Topik napsal:

    Google?

  7. Topik napsal:

    Google?

  8. Topik napsal:

    1. Google
    2. Yahoo!
    3. Facebook
    4. Youtube
    5. Windows Live (live.com – nyní přesměrovaný na bing.com)
    6. MSN
    7. Blogger
    8. Wikipedia
    9. Baidu (čínský vyhledávač)
    10. Yahoo! (japonská verze)
    11. Myspace
    12. Google (indická verze)
    13. Google (německá verze)
    14. QQ (čínský portál a IM ve stylu ICQ)
    15. Twitter
    16. Rapidshare
    17. Microsoft
    18. Google (francouzská verze)
    19. Sina (čínský zpravodajský web)
    20. WordPress

  9. Topik napsal:

    1. Google
    2. Yahoo!
    3. Facebook
    4. Youtube
    5. Windows Live (live.com – nyní přesměrovaný na bing.com)
    6. MSN
    7. Blogger
    8. Wikipedia
    9. Baidu (čínský vyhledávač)
    10. Yahoo! (japonská verze)
    11. Myspace
    12. Google (indická verze)
    13. Google (německá verze)
    14. QQ (čínský portál a IM ve stylu ICQ)
    15. Twitter
    16. Rapidshare
    17. Microsoft
    18. Google (francouzská verze)
    19. Sina (čínský zpravodajský web)
    20. WordPress

  10. Honza napsal:

    První je Google díky YouTube, nepřímo to vyplývá z těchto měření: http://www.comscore.com/Press_Events/Press_Releases/2009/11/Microsoft_Sites_Captures_Largest_Share_of_Time_Spent_Online_Worldwide.

    Konkrétně se tam píše „Facebook and YouTube Combined Account for Nearly 10 Percent of Time Spent Online Globally“. Z toho vyvozuji, že FB a YT jsou největší, když hodnotíme pouze samostatné weby a ne soubory webů jednotlivých firem.

  11. Honza napsal:

    První je Google díky YouTube, nepřímo to vyplývá z těchto měření: http://www.comscore.com/Press_Events/Press_Releases/2009/11/Microsoft_Sites_Captures_Largest_Share_of_Time_Spent_Online_Worldwide.

    Konkrétně se tam píše „Facebook and YouTube Combined Account for Nearly 10 Percent of Time Spent Online Globally“. Z toho vyvozuji, že FB a YT jsou největší, když hodnotíme pouze samostatné weby a ne soubory webů jednotlivých firem.

  12. Martin napsal:

    Velice zajímavé, díky za info. :-)

  13. Martin napsal:

    Velice zajímavé, díky za info. :-)

  14. [...] Nebylo možné nahrávat žádné fotky ani videa. Od té doby se však situace značně změnila. Dnes je potřeba k běhu Facebooku 30 tisíc serverů. Kam s nimi [...]

  15. [...] také na Facebook využívající 30 tisíc serverů. Srovnání pak jasně dominuje žlutě znázorněný Google s odhadovaným milionem serverů. A [...]

  16. Stepi napsal:

    „Dnes se zátěž zvýšila na 250 tisíc požadavků/sekunda/stroj.“ ….. toto je uplny nesmysl, to cislo je o 2 rady jinde…

  17. Jan Horna napsal:

    To číslo sedí, viděl jste tu přednášku? Případně článek shrnující přednášku: http://idleprocess.wordpress.com/2009/11/24/pre

NAPIŠTE KOMENTÁŘ