More Related Content
Similar to Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 запросов в секунду на Rails, Максим Лапшин
Similar to Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 запросов в секунду на Rails, Максим Лапшин (20)
More from Fuenteovejuna (20)
Оптимизация одного из топовых приложений для социальной сети ВКонтакте: 1000 запросов в секунду на Rails, Максим Лапшин
- 3. • 30 тыс пользователей
• 9до секунд на запрос
• 5 серверов
• 500надо опустить время ответа домс
Вводные
- 4. • 2-Более х млн пользователей
• 25 мс на запрос
• 14 серверов
• 40K RPM 20и млн записей в сутки
Результаты
- 5. • Ежедневная смена требований
• Экспоненциальный рост нагрузки
• Поровну записи и чтения
• ,Сделать быстро дешево и приемлемо
С чем столкнулись
- 13. • Ruby on Rails — нужна гибкость
• PostgreSQL — часто меняется схема
• RabbitMQ — задержка записи
• внешний инструментарий
Оставили
- 15. • Без него никуда
• Догадки не работают
• newrelic.com
• Фоновые задачи очень важны
Профилирование
- 16. • Место на дисках
• Упавшие серверы
• Длины очередей
• (?)Ночной дежурный
Мониторинг
- 17. • Нужны реляционные выборки
• Часто меняются критерии
• PostgreSQL быстр и удобен
• — IOИндексы основной дисковый
SQL база
- 18. • —Много данных рядом плохо
• Нам повезло с логикой выборок
• : user_id % 100Шардинг
• Надо планировать заранее
Шардинг
- 19. • Меньше всего проблем
• Zero-downtime deploy unicorn-с ом
• Плохая поддержка шардинга
• RabbitMQНеобходимость
Ruby on Rails
- 20. • Самая быстрая часть проекта
• Оказался индикатором состояния
• Мучительное восстановление
RabbitMQ
- 21. • Rails do scale
• —Масштабирование вопрос
предметной области
• -У вас всё будет по другому
Выводы