Hl Nekoval

511 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
511
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Флэш-плейер, HTTP
  • От файлового хранилища – HTTP
  • Не все так радужно!
  • Разбработка
  • Обзор существующей схемы. Что было и что стало.
  • Что было, что стало.
  • Серьезная статья расходов!
  • Нет 24-часовой поддержки
  • примеры: encoding, memcached, fast-cgi
  • Hl Nekoval

    1. 1. Делаем дешевый видео-хостинг в условиях кризиса Сергей Нековаль Денис Елданди «Грамант»
    2. 2. Вступление <ul><li>Сервис позволяет пользователям бесплатно загружать и просматривать видео-контент (японский аналог YouTube); </li></ul><ul><li>Работает более 9 лет </li></ul><ul><li>Основной источник дохода – реклама. </li></ul><ul><li>П оказов в сутки – более 18 млн. , 5 ТБ трафика </li></ul><ul><li>З арегистрированных пользователей – более 150 тыс. </li></ul>
    3. 5. Проблемы?
    4. 6. <ul><li>Регулярные проблемы с доступностью (до 2 «крушений» в неделю) </li></ul><ul><li>Расширяемость. Исходный код – месиво из Perl , PHP, Ruby и даже Scheme. </li></ul><ul><li>Попытки решить проблему с помощью « Page generation » . </li></ul>
    5. 7. Экономика должна быть экономной! <ul><li>Сократить издержки </li></ul><ul><li>Увеличить время доступности (а значит, и рекламный трафик) </li></ul><ul><li>Привести систему в состояние, позволяющее её развивать и монетизировать сервис </li></ul>
    6. 8. Наши цели <ul><li>Экономия на стоимости разработки </li></ul><ul><li>Экономия трудозатрат на поддержку </li></ul><ul><li>Экономия железа и трафика </li></ul>
    7. 9. Разработка
    8. 10. Принцип АК-47
    9. 11. Принцип АК-47 <ul><li>Простота в изготовлении и обслуживании </li></ul><ul><li>Избегаем изобретать велосипеды и используем готовый софт </li></ul><ul><li>«Правило 5 минут» - грубая, но эффективная стрельба </li></ul>
    10. 12. Жизненно важные органы <ul><li>Файловое хранилище </li></ul><ul><li>База данных </li></ul><ul><li>Веб-серверы </li></ul>
    11. 13. Файловое хранилище
    12. 15. Файловое хранилище <ul><li>l ighttpd 1.4 + mod_flv_streaming </li></ul><ul><li>FTP + HTTP </li></ul><ul><li>Репликация </li></ul><ul><li>Garbage Collection </li></ul><ul><li>Видео-файлы бывают дорогие и дешёвые! </li></ul>
    13. 16. База данных <ul><li>PostgreSQL 8.3 </li></ul><ul><li>Skytools 2.1.10 </li></ul><ul><li>memcached </li></ul>
    14. 17. Падаем красиво <ul><li>Падение encoding- процесса </li></ul><ul><li>Падение БД </li></ul><ul><li>Падение всего, кроме web- сервера </li></ul>
    15. 19. Кэширование
    16. 20. Веб-сервер <ul><li>Контроль памяти ( Ruby) </li></ul><ul><li>Регулировка Fast CGI- пула </li></ul>
    17. 21. Поддержка
    18. 22. Вкалывают роботы, а не человек! <ul><li>Автоматический мониторинг </li></ul><ul><li>Самолечение </li></ul><ul><li>«Упал-отжался» </li></ul>
    19. 23. Мониторинг <ul><li>Logs (syslog) </li></ul><ul><li>Alerts (Tenshi + Zenoss Core) </li></ul><ul><li>Performance Data (Zenoss Core) </li></ul>
    20. 25. Железо и Трафик
    21. 26. Сервер железный – он выдержит! <ul><li>CPU – больше рабочих процессов (Encoding) </li></ul><ul><li>Память – больше кэш (memcached) </li></ul><ul><li>Лишние диски – продать! </li></ul><ul><li>Трафик – направляем туда, где он дешевле </li></ul>
    22. 27. Управление трафиком <ul><li>Серверы media - $$$ </li></ul><ul><li>Серверы smedia - $$ </li></ul><ul><li>CDN ( FreParNet) - $ </li></ul>
    23. 30. Результаты <ul><li>Радикально снижена нагрузка на БД </li></ul><ul><li>Encoding Server – усовершенствованная очередь, использует 100% CPU </li></ul><ul><li>Web Server – выровнены напильником многочисленные проблемы lighttpd </li></ul>
    24. 31. Результаты <ul><li>Быстрая разработка и развитие сервиса в стиле AK-47 </li></ul><ul><li>Существенное удешевление поддержки </li></ul><ul><li>Существенное удешевление трафика </li></ul>
    25. 32. Вопросы? <ul><li>Сергей Нековаль / [email_address] </li></ul><ul><li>Денис Елданди / [email_address] </li></ul>

    ×