Во-первых, извините, если это немного рассеяно, это заключает в себе большую проблему для меня, с которой я имел дело в течение некоторого времени.
Вот небольшая предыстория: у меня есть образовательный веб-сайт с видео по запросу для онлайн-уроков. В течение 4 лет мы размещали все наши собственные медиа, используя 6 выделенных серверов Wowza по всему миру для доставки наших медиа. Наши затраты на это составляли около 1500 долларов в месяц.
Стремясь улучшить обслуживание, мы заручились поддержкой CDN, которая хорошо себя зарекомендовала, но теперь наши расходы на хостинг выросли примерно до 6000 долларов в месяц, и мы хотели бы вернуться к 98% -ному хостингу самостоятельно и использовать аутсорсинг только в CDN как в крайнем случае со сценарием ролловера.
Когда у нас были все собственные выделенные серверы, мы обычно использовали 2-х четырехъядерный процессор 2,66 ГГц с оперативной памятью 16 ГБ и 2 SSD в RAID0. Несмотря на то, что мы заказывали одно и то же у одной и той же хостинговой компании, только в разных частях мира, мы могли заметить большие различия в производительности, которые, казалось, были на уровне оборудования, а не на уровне сети.
Мы договорились о совместном размещении с ними по отличной цене, но теперь я застрял в попытках определить, как добиться максимальной производительности для того, что мне нужно.
================================
Скажем, я хочу, чтобы оптимальное время передачи / поиска данных обеспечивало максимальное количество одновременных видео? Если у меня одновременно подключено 1000 пользователей, они могут одновременно открывать до 250-400 отдельных видеофайлов. Я понимаю, что могу получить 8 SSD-дисков SAS и поместить их в RAID, но как насчет процессора или ОЗУ?
Глядя на ebay, я вижу такие вещи, как:
PowerEdge R810 1U Server (4X) 1.87GHz Eight-Core Xeon L7555 192GB RAM
POWEREDGE R810 SERVER FOUR X7550 2.0GHZ 96GB
С точки зрения процессора, я могу найти модели с 8–30 МБ кэш-памяти третьего уровня, но имеет ли это значение для этого? Что мне лучше с двумя четырехъядерными процессорами, или мне нужно четыре восьмиъядерных процессора, чтобы получить от этого максимальную отдачу?
Я понимаю от поставщика программного обеспечения, что больше оперативной памяти лучше, когда у вас открыто несколько файлов, но в целом они отказываются предоставить более подробную информацию о том, какой тип оборудования на самом деле даст вам конкретный результат. Все, что они говорят, это:
http://www.wowza.com/products/streaming-engine/specifications
High-load recommended production hardware
CPU: Dual Quad-Core or a single Hex-Core, 3.00 GHz or better
RAM: 16-32GB
Disk: 2 or more in RAID 0 (striping)
Network: 10Gbps Ethernet
Это здорово, но не сказано, каков будет результат с этой конфигурацией. Обычно в любой день мне нужно иметь возможность транслировать 15 000 видео в течение всего дня, при одновременном пике 1500. С точки зрения пропускной способности я мог бы добиться этого с помощью одного подключения к Интернету, если бы оборудование могло не отставать. Я знаю, что наличие нескольких местоположений дает преимущества, но я все равно смогу сэкономить более 50 000 долларов в год, если смогу просто выяснить проблемы с оборудованием.
В конце концов, я думаю, мне интересно, был ли у меня сверхвысокопроизводительный RAID, в каком порядке мне нужно беспокоиться дальше? Стоит ли ориентироваться только на тактовую частоту, кеш L3, оперативную память?
=================================
Я приобрел новый сервер и изучаю больше о конфигурациях и производительности RAID. Если вы хотите продолжить, вы можете увидеть следующую часть саги здесь:
Не думаю, что можно сказать: купите X, установите Y, и ваша проблема сразу же решится. Это займет несколько итераций, и вам нужно будет приложить больше усилий для выявления узких мест, когда они неизбежно появятся. По большей части я не буду рекомендовать конкретное оборудование, так как оно устареет к тому моменту, когда я нажму кнопку отправки.
Итак, поскольку у нас нет достоверных данных о том, в чем заключались узкие места, давайте просто представим, что это новый проект. Вот как я подхожу к этому: