Мне нужно обслуживать не менее 400 одновременных пользователей около 150 МБ файлов (видео / аудио). Какое оборудование, по вашему мнению, требуется? Планируется использовать Ubuntu для ОС и Apache для обслуживания.
Используется для внутренней сети, а не через Интернет.
Я специально ищу представление о скорости жесткого диска, объеме ОЗУ и процессоре, которые, по вашему мнению, потребуются.
Ах, мой любимый предмет!
Предположительно, вы просто будете воспроизводить статические, предварительно закодированные файлы, верно? Что ж, то, что вы хотите сделать, это сначала определить среднюю скорость передачи вашего контента, это открывает путь ко всем остальным вещам, которые вам нужно решить.
Теперь для всего лишь 150 МБ контента вы сможете легко кэшировать, поэтому вам не придется беспокоиться о скорости вашего диска (хотя это изменится, если вы начнете расширять хранилище контента). Итак, что вам нужно знать, так это то, насколько интенсивна эта работа с ЦП (подсказка: вероятно, не очень, если это просто фиксированные файлы - большую часть времени ваши ЦП будут ждать сетевые адаптеры) - в котором говорится, что вам нужны как минимум два ЦП по 2-3 ГГц. , возможно, больше, но не глупые суммы, если только вы не ожидаете значительного роста или используете одну и ту же машину для транскодирования (в любом случае, это плохая идея) - я бы придерживался либо однопроцессорного Xeon (серия 36xx), либо двух сокет Xeon (серия 56xx).
Вам понадобится 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 гигабайта или больше.
Реальность такова, что это зависит от вашего фактического использования. Вы тестировали это в меньшем масштабе? Если да, то на каком оборудовании и как оно работало? Когда ваши пользователи жалуются на производительность? С какими узкими местами вы столкнулись?
Этот вопрос в том виде, в каком он задан, немного расплывчат относительно деталей вашей реализации.