В последние несколько недель мы начали обслуживать все больше и больше видео по http, размером от 50 до 500 МБ каждое, и, поскольку у нас не было нового сервера для его использования, я установил его на нашем сервере прямой трансляции.
Коробка довольно приличная, imho (2 x quad на 2ghz, 4gb ram, 4 x 300gb sas 15k rpm в hw RAID1, под управлением Linux 2.6, ext3 fs с планировщиком крайних сроков, nginx как веб-сервер), но у нас все еще были проблемы с доставкой файлов, в основном я подозреваю, потому что наш iowait составлял от 10 до 45%, а утилита в большинстве случаев составляла около 90%, а процессор - около 20-30%.
Из того, что я прочитал, мы должны были удерживать наш трафик ~ 300-400 Мбит / с, но это не так ...
Имея ограниченный бюджет, мы не можем полагаться на CDN, но при необходимости мы можем получить больше вычислительной мощности, а центр обработки данных сможет обрабатывать наш трафик.
Теперь у нас есть новый сервер, который должен делать только это, но я не знаю, как лучше всего его настроить, основные вопросы на данный момент:
Любые другие советы приветствуются.
Спасибо.
Вы говорите нам, что считаете, что должны поддерживать скорость 300-400 Мбит / с, но не можете позволить себе использовать CDN? Что-то не так ... Во-первых, у вас есть восходящее соединение ... что это за соединение? какую скорость поддерживает? Выделенная или общая полоса пропускания? Я предполагаю, что это первое узкое место в вашей установке, задолго до того, как я когда-либо подумал, что это сервер.
К вашему сведению, пропускная способность ЦОД операторского уровня составляет около 250 долларов / Мбит / мес непрерывно, поэтому даже при устойчивом уровне 100 Мбит / с вы говорите о расходах в 25 тысяч долларов в месяц. Если вы делаете это, вы можете себе позволить взглянуть на CDN.
Я не специалист по такой оптимизации, но вот пара мыслей, которые приходят на ум:
Кажется, у вас есть много вопросов, многие из которых могут дать ответ сами собой, когда вы переключитесь на новый сервер. Я бы позаботился о том, чтобы вы могли вернуться к старому серверу, если произойдет что-то катастрофическое, и посмотреть, как работает новый сервер.