Требования к оборудованию для обслуживания видео до 400 одновременно работающих пользователей

Мне нужно обслуживать как минимум 400 одновременно работающих пользователей около 150 МБ файлов (видео / аудио). Какое оборудование вы хотели бы предложить? Планируется использовать Ubuntu для ОС и Apache для обслуживания.

Использование для внутренней сети, а не через Интернет.

Я специально искал идею о скорости жесткого диска, объеме оперативной памяти и процессоре, который, по вашему мнению, потребуется.

3 ответа

Ах, мой любимый предмет!

Предположительно, вы просто будете воспроизводить статические, предварительно закодированные файлы, верно? хорошо, что вы хотите сделать, это сначала определить среднюю скорость передачи вашего контента, это проложит путь ко всем остальным вещам, которые вам понадобятся.

Теперь только для 150 МБ контента вы сможете легко кэшировать его, поэтому вам не придется беспокоиться о скорости вашего диска (хотя это изменится, если вы начнете расширять хранилище контента). Так что вам нужно знать, насколько интенсивна загрузка ЦП (подсказка: вероятно, не очень, если это просто фиксированные файлы - большую часть времени ваши ЦП будут ждать сетевых карт) - это говорит о том, что вы хотите по крайней мере два ЦП 2-3 ГГц вероятно, больше, но не глупые суммы, если вы не ожидаете большого роста или не используете ту же машину для транскодирования (что в любом случае является плохой идеей) - я бы остановился на Xeon с одним сокетом (серия 36xx) или на двойном Розетка Xeon (серия 56хх).

Вам понадобится 4 ГБ памяти (это дешево, меньше гетто, и если машина не выполняет больше работы, то переход выше 4 ГБ сейчас бессмысленен).

Убедитесь, что у вас есть зеркальная пара маленьких / медленных / загрузочных дисков / ОС, а затем еще одна зеркальная пара дисков с данными - сейчас я бы сохранил здесь, зная, что вы сможете получить больше / быстрее дисков при увеличении контента.

Что касается ОС, то, что бы вы ни выбрали, в наши дни нет причин переходить на что-либо, кроме 64-битных, если для компонента нет 64-битного драйвера, не устанавливайте его на своем компьютере - у этих ребят было полдесятилетия, чтобы переписать, если они не могут этого сделать, они недостаточно усердно работают за ваши £$€.

Теперь перейдем к самому важному элементу - сетевым адаптерам. Вам понадобится две пары в паре для обработки сбоев - выберите большое имя, в идеале карту серверного класса, которая поддерживает такие вещи, как слияние прерываний и TOE/LSO, - это поможет много. Теперь вам нужно выяснить, какова скорость этих сетевых адаптеров - на самом деле вам следует рассмотреть только два варианта - 1 Гбит / с и 10 Гбит / с.

Сетевая карта 1 Гбит / с может отправлять ~80-85 Мбит / с трафика при полной загрузке, что составляет около 200 Кбит / с или ~2 Мбит / с на пользователя для 400 одновременных потоков - что на самом деле довольно мало, это примерно полноэкранное качество SD. Если ваш контент закодирован для => этой цифры, то я бы посоветовал вам перейти на сетевые карты 10 Гбит / с в первый день - они, как правило, не в десять раз быстрее, так как их сложнее "заполнить", но они не позволят вам прорезываться зубы проблемы в первый день.

Конечно, вся ваша сеть должна обрабатывать такое количество трафика, не забывайте; Коммутаторы, маршрутизаторы, брандмауэры, балансировщики нагрузки и т. д. все должны быть в состоянии очистить такого рода нагрузку - плюс ваши фактические интернет-ссылки, конечно же.

Удачи.

Кстати, я делаю такие вещи для около 500 тыс. Пользователей, большинство на скорости ~1,5 Мбит / с (некоторые на скорости ~6 Мбит / с).

Вы не упоминаете такие вещи, как сжатие, кодеки, вы просто копируете файлы, транслируете их, вывозите их на ферму или на один сервер, являются ли эти пользователи одновременно и т. Д.

Лучший совет, который я бы сказал, это получить самые быстрые диски, которые вы можете получить, возможно, RAID 10 (не знаю, является ли это критически важной для бизнеса системой) с аппаратным RAID. Получите лучший четырехъядерный процессор, который вы можете получить, поскольку он, вероятно, не будет таким тяжелым для процессора, как для подсистемы дисков и сетевой карты. Больше заботьтесь о том, чтобы ваша сетевая карта была высочайшего качества и гигабитной скорости (соберите две и объедините их, если это возможно, с правильно настроенным коммутатором Cisco). Получите как можно больше памяти для целей кэширования, 64 гигабайта и более.

Реальность такова, что это зависит от вашего фактического использования. Вы проверяли это в меньшем масштабе? Если да, на каком оборудовании и как оно работает? Когда ваши пользователи жалуются на производительность? С какими узкими местами вы столкнулись?

Этот вопрос немного размыт по деталям вашей реализации.

Отправка файлов - это операция ввода-вывода, поэтому ваш процессор не сильно пострадает от извлечения файла и его передачи пользователям.

Я бы заподозрил, что вам понадобится любой текущий процессор, хорошее количество оперативной памяти (чем больше, тем лучше для сервера) и скорость жесткого диска, чем выше, тем лучше.

Хотя от руки у меня нет никаких конкретных цифр, чтобы дать. Просто мои первые мысли здесь, надеюсь, кто-то может расширить, предоставив конкретные цифры / данные.

Другие вопросы по тегам