В общем такая ситуация, есть бюджет 400 000 рублей.
Стоит задача, создать сайт. Сайт обычный, но там будут храниться видеоматериалы. Пользователи будут заходить и смотреть видео. По плану, на сайт будут заходить около 20 000 пользователей в месяц. Примерная память, занимаемые видеороликами 20 ТБ.
Заказчик хочет сервер купить, свой персональный. Не хостинг, не ВДС и т д. Я поискал в интернете сервера, и 20+ТБ памяти жесткий диск выходит на заоблачные цены, нежели наш бюджет. Либо тупо 1U высота не хватает, чтобы воткнуть достаточное количество жестких дисков на сервер.
В общем вопрос, как мне решить данную проблему? Кто сталкивался? насколько целесообразно покупать мощный сервер под выше нагрузку? можно ли использовать ПК на вышеописанные нагрузки? Голова идет кругом, нужна помощь. Помогите
А что если взять Qnap D4 и 4 диска по 8ТБ в 5 рейде это около 24 ТБ. около 100т.р Взять не дорогой сервер с 2-мя ГБит портами, установить Xen , создать хранилище на qnap. К гостевой ОС просто подключаем это хранилище. И вуаля. Бюджетно и работает. Скорость записи на такое файлохранилище при Гигабитном канале около 950 МБит/с.
Сначала думайте о покупке CDN-услуг для доставки трафика без перегрузки канала связи до конечного потребителя контента.
А уже потом (после всех расчётов нагрузки на канал, на перекодирование видео и т.д.) - будете подбирать конфиг под видео-сервер для пережатия/отдачи этих видео для просмотра.
Falconer, думаю, что если не найдут денег на покупку CDN, сделают на одном серве и морочиться даже не будут (или "забьют" вообще на этот проект). Поэтому, если бы знали как строить CDN вручную, то этого вопроса даже бы не было.
Вопросы пиратства и лицензирования контента оставим - может быть там онлайн-трансляция какого-нибудь производства :D
Сначала посчитаем что:
20000 челов в месяц - это 666 в день (при 30 днях) - это 27 челов в час (при 24 х 7 равномерной загрузке, что конечно же недостижимо). То есть у Вас постоянно на сервере сидят 27 челов и смотрят. Какой простите канал Вы планируете, чтобы это не тормозило ацки ?
Вам сначала нужно спроектировать систему, которая бы контент раздавала всем этим 27 юзерам, а уже потом сервер подбирать.
Ну продолжаем считать. За час 27 пользователей, каждый посмотрел 5 роликов по 100Мб. Это 13.5 гигабайт в час или 30МБит/с. То есть даже канала 100МБит/с хватит (без особого запаса на всплески, конечно, но в целом работать должно).
Целесообразно начать с составления технического задания, куда войдёт предварительный анализ посещаемости ресурса. Отсюда Вы получите требуемую минимальную пропускную способность канала передачи данных, чтобы обеспечивать потребности аудитории в контенте. Так-же, Вам необходимо определить минимальный и максимальный порог качества контента, т.е. разрешение видео и его битрейт, это напрямую повлияет на объём хранилища данных. Логичнее построить систему на безе 2-х «серверов» и 2-х СХД, зеркалируя обе вычислительные ноды и СХД. Другими словами, начните с канала передачи данных, в наших реалиях хороший канал, а лучше 2 будут стоить очень хороших денег. Сервер за 400 000 без хорошего канала - напрасная трата денег.
Важно понять, где находится основная масса посетителей сайта. Это Россия? Может это определенный регион? Быть может это преимущественно с какого-то континента?
У самого есть сервер для раздачи видео. Правда, там 2.5 TB данных сейчас, а трафик - 800-1000гб/сутки. Это при 3000-3500 уников в сутки. У вас скорее всего трафика будет меньше, судя по посещалке.
Параметры моего сервера - недорогой ксенон, 16гб ram, 3×2tb в RAID0 (знаю, ненадёжно, но домашний интернет 500бмит/с позволит быстро восстановить данные с компа в случае чего). Канал 1гб/с (чаще загружен в пределах 150-300мбит). Контент раздает шикарно и без просадок на пиках (50 пользователей одновременно). Стоит это дело мне 50 долларов в месяц. Это США. Есть и в Европе интересные решения.
На счёт своего сервера - узкое место будет канал связи, как и писали выше. Либо это будет дорого (если арендовать 1+Гб/с). CDN также не вариант, так как очень дорого выйдет в конечном итоге за трафик.
В общем, лучше арендовать сервер (с хорошим каналом связи в придачу), чем покупать свой. Вопрос лишь параметров - а это зависит от специфики. Для раздачи статики nginx-ом (mp4) важно смотреть на канал связи и HDD - это может стать узким местом.