300 milionów odsłon na miesiąc - Facebookowa aplikacja w Ruby On Rails

Portret użytkownika bluszcz

Na serwisie High scalability pojawił się opis wdrożenia Friends for Sale, aplikacji obsługującej 200 requestów na sekundę (około 300 milionów odsłon miesięcznie). Opis platformy na której zostało dokonane wdrożenie:

  • Ruby on Rails
  • CentOS 5 (64 bit)
  • Capistrano - zarządzanie deploymentem
  • Memcached
  • MySQL 5.1
  • Nginx
  • Starling
  • Softlayer
  • Pingdom
  • LVM

Kilka ciekawych faktów z opisu wdrożenia:

  • dobre użycie memcache (4GB na każdym serwerze aplikacji) - brak powtarzających się zapytań do bazy, obiekty nigdy nie ekspirują - jedynie ręcznie są kasowane
  • zespół dwu osobowy + bazodanowiec z doskoku
  • liczba serwerów w klastrze - 12 (4 bazodanow, 6 aplikacyjnych, 1 staging oraz jeden z frontem)
  • replikacja bazy danych master => slave
  • brak strategii obsługi pamięci podręcznej po stronie klienta
  • analiza wydajności jest realizowana poprzez śledzenie zapytań SQL

Źródło - Friends for Sale Architecture - A 300 Million Page View/Month Facebook RoR App Todd Hoff's picture.

Bookmark and Share