Rails Scale: 1000 запросов в секунду презентация

Содержание

Задача: оптимизация приложения вконтакте

Слайд 1Rails Scale: 1000 запросов в секунду
Макс Лапшин
max@evilmartians.com
http://evilmartians.ru/


Слайд 2Задача:
оптимизация приложения вконтакте


Слайд 330 тыс пользователей
до 9 секунд на запрос
5 серверов
надо опустить время ответа

до 500 мс

Вводные


Слайд 4Более 2-х млн пользователей
25 мс на запрос
14 серверов
40K RPM и 20

млн записей в сутки

Результаты


Слайд 5Ежедневная смена требований
Экспоненциальный рост нагрузки
Поровну записи и чтения
Сделать быстро, дешево и

приемлемо

С чем столкнулись


Слайд 6Что оказалось
важным в
нашем случае


Слайд 7Грамотный менеджер
«Щасспрошу» завалит проект
Персонал


Слайд 8Системный администратор.
Получше, чем «aptitude-джан»
Персонал


Слайд 9Наша команда злых марсиан!
http://evilmartians.ru/
Персонал


Слайд 10Волшебных гномиков нет.


Слайд 11Нет их даже в MongoDB и memcached


Слайд 12pgpool — master-master медленный
memcached — нечего кешировать
Сразу выкинули


Слайд 13Ruby on Rails — нужна гибкость
PostgreSQL — часто меняется схема
RabbitMQ — задержка записи
внешний инструментарий
Оставили


Слайд 14Что мы делали


Слайд 15Без него никуда
Догадки не работают
newrelic.com
Фоновые задачи очень важны
Профилирование


Слайд 16Место на дисках
Упавшие серверы
Длины очередей
Ночной дежурный (?)
Мониторинг


Слайд 17Нужны реляционные выборки
Часто меняются критерии
PostgreSQL быстр и удобен
Индексы — основной дисковый IO
SQL

база

Слайд 18Много данных рядом — плохо
Нам повезло с логикой выборок
Шардинг: user_id % 100
Надо

планировать заранее

Шардинг


Слайд 19Меньше всего проблем
Zero-downtime deploy с unicorn-ом
Плохая поддержка шардинга
Необходимость RabbitMQ
Ruby on Rails


Слайд 20Самая быстрая часть проекта
Оказался индикатором состояния
Мучительное восстановление
RabbitMQ


Слайд 21Rails do scale
Масштабирование — вопрос предметной области
У вас всё будет по-другому
Выводы


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика