The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интервью с разработчиками высокопроизводительного сервиса на базе Ruby on Rails

18.03.2008 12:57

Доступен перевод интервью с разработчиками сервиса Friend for Sale, входящего в десятку лучших приложений Facebook. Сервис построен на базе Ruby on Rails, обрабатывая около 200 запросов в секунду и поддерживая около 600 тысяч активных пользователей, опровергает бытующее мнение о плохой масштабируемости этой платформы.

Работу сервиса обеспечивают: 4 сервера баз данных, 6 серверов приложений, 1 демонстрационный сервер и 1 сервер для балансировки нагрузки:

  • Каждый из серверов приложений содержит 4 ядра и 8 GB оперативной памяти.
  • На каждом из них работает 16 сервисов mongrel (в сумме - 96).
  • 4 GB оперативной памяти на каждом из них отведено под memcached.
  • Сервера баз данных имеют более серьезное оборудование: при тех же 4-х ядрах, они имеют 32 GB оперативной памяти и RAID 10 массив из четырех 15000rpm SCSI дисков, работающих в режиме master-slave.
  • Программная платформа Ruby on Rails, в том числе приложения на Ruby:
    • Распределенный сервер очередей - Starling;
    • Разделение операций чтения и записи между серверами - Magic Multi-Connections Gem;
  • В качестве операционной системы используется CentOS (64-bit);
  • СУБД MySQL;
  • Балансировка нагрузки - nginx;
  • Кэширование - Memcached;
  • Для обновлений и перезапусков серверов задействовано ПО Capistrano;
  • Мониторинг - Pingdom;


  1. Главная ссылка к новости (http://www.insight-it.ru/net/s...)
  2. OpenNews: Архитектура YouTube
  3. OpenNews: Перевод статьи про архитектуру интернет-магазина Amazon.com
  4. OpenNews: Архитектура Flickr
  5. OpenNews: Архитектура Google
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/14802-ruby
Ключевые слова: ruby, web
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (14) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Nas (?), 13:11, 18/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Оу...Nginx используется. Приятно.
     
  • 1.2, Аноним (-), 13:47, 18/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    200 запросов в секунду - это 30 на каждый сервер приложений. А при такой конфигурации, не такие и большие числа.
     
     
  • 2.3, wiz (??), 13:58, 18/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >200 запросов в секунду - это 30 на каждый сервер приложений. А
    >при такой конфигурации, не такие и большие числа.

    А на каждом сервере ещё и по 4 ядра (;

     
  • 2.11, Ггсть (?), 20:58, 18/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >200 запросов в секунду - это 30 на каждый сервер приложений. А
    >при такой конфигурации, не такие и большие числа.

    Во-во

     

  • 1.4, Аноним (4), 15:22, 18/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Угу, это говорит о том какое железо нужно для обеспечения нормально работы сервиса на базе Ruby on Rails.
     
  • 1.5, mma (?), 15:54, 18/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мда, они бы еще заявили что их рельсы не тормозят на ОДНОМ суперкомпьютере - тот же эффект.
     
  • 1.6, PavelR (??), 16:12, 18/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня одна коробка раздает ~30 Мб в секунду мп3-ави контента,
    100 запросов в секунду к статике страниц,  10 запросов в секунду к мп3/ави
    к динамике ~15-20 запросов в секунду, мод_перл, постгрес 8.2

    Одна коробка, Коре2дура 6600, 2 Гб рамы, апача + нгинкс.

    сайт конечно не такой уж наверное и тяжелый, но против  11 компов с кучей оперативы  и кучей ядер... не внушает.

     
  • 1.7, Аноним (4), 17:03, 18/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вообще то получился замечательный пример того какой ряби-на-рельсах мрачный _ТОРМОЗ_ ! :)
     
     
  • 2.10, devcoder (??), 18:23, 18/03/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Вообще то получился замечательный пример того какой ряби-на-рельсах мрачный _ТОРМОЗ_ ! :)

    Для подобных (коммерческих/промышленных) проектов стоимость
    железа не самое важное. Гораздо важнее сроки(=затраты) развёртывания,
    стабильность работы и стоимость обслуживания(поддержка/доработка).
    И этот пример, в этом смысле, очень показателен.

     

  • 1.12, Аноним (4), 23:40, 18/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пайтон - наше все! :-) С такими аппетитами руби ютубовцам денег бы не хватило на железки)
     
  • 1.13, Сергей (??), 01:57, 19/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мдя. Плоховато с производительностью, и это с использованием кэширования и таких монстрюг-серверов. Я был лучшего мнения о рельсах.
     
  • 1.14, brrr (ok), 02:53, 19/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    всего-лишь 11 серверов...
     
  • 1.15, Аноним (15), 07:10, 19/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    юзайте django и будет вам счастье
     
  • 1.16, Аноним (4), 12:11, 19/03/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автор, будь внимательней. Долго ломал голову про "...RAID 10 массив из 4 винтов работающих в режиме "мастер-слуга"." Пришлось лезть читать саму статью...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру