Сервер для фильмов или VDS c большим HDD от 500 Гб.

K
На сайте с 07.03.2011
Offline
172
#111
zzzit:
Мое если было только одно, чтобы метаданные влазили в память и не вижу причин, чтобы контент ТСа не прокатывал.

Замечательно когда метаданные лежат в памяти, а с данными вы что то делаете? :)

Тут многие реализовывали подобные вещи и понимают, что физические возможности логикой не обмануть

Пока ваши сообщения тут выглядят как "вы не можете, а я могу".

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

Услуги: Сервер i7 за 66 евро! (http://blackhost.ru/dedicated-servers), VPS SSD от 6 евро (http://blackhost.ru/vps) Гарантированные канал 1 Gbps за 337 евро (https://blackhost.ru/dedicated-servers#addons). Защита от DDoS-атак. Blackhost.ru - Наша тема (/ru/forum/892885)
Z
На сайте с 06.09.2012
Offline
129
#112
klamas:
Тут многие реализовывали подобные вещи и понимают, что физические возможности логикой не обмануть

Что вы там реализовывали? Физические возможности как раз достаточные, нужно всего по 60 мбайт с диска тянуть, а это случайными 2+ мегабайтными блоками любой диск сможет. Только вот никаких "сколько потоков" быть не может, поток один на диск, отдельный и читать с диска он должен мимо кэша файловой системы. Клиентов может быть столько, сколько хватит оперативки под их буферы.

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

Черный список врунов и обманщиков: ua-hosting.company, riaas.ru, takewyn.ru, yahoster/cadedic, Andreylab
K
На сайте с 07.03.2011
Offline
172
#113
zzzit:
нужно всего по 60 мбайт с диска тянуть, а это случайными 2+ мегабайтными блоками любой диск сможет.

Не удивлен :)

zzzit:
Только вот никаких "сколько потоков" быть не может

Потоков скачивания имелось ввиду.

Данных, о которых я писал выше, я так понимаю, ждать не стоит. Спасибо за теорию.

Z
На сайте с 06.09.2012
Offline
129
#114
klamas:
Данных, о которых я писал выше, я так понимаю, ждать не стоит. Спасибо за теорию.

Не храню графики многолетней давности, сори.

UPD: ТС если еще надо, пиши в личку, из спортивного интереса посмотрю, что можно выжать в текущей конфигурации.

Andron_buton
На сайте с 19.07.2007
Offline
270
#115
zzzit:
Что вы там реализовывали? Физические возможности как раз достаточные, нужно всего по 60 мбайт с диска тянуть, а это случайными 2+ мегабайтными блоками любой диск сможет. Только вот никаких "сколько потоков" быть не может, поток один на диск, отдельный и читать с диска он должен мимо кэша файловой системы. Клиентов может быть столько, сколько хватит оперативки под их буферы.
Есть еще вариант попроще, это read ahead, читать с диска в обычном режиме мелкими запросами, но давать ему складывать в кэш фс по пару мегабайт наперед, пока не много клиентов - будет работать, а потом в какой-то непредсказуемый момент резко начнутся тормоза.

И толку, я же говорю, при такой схеме все равно гигабит с 2-х дисков при условиях ТС никак не потянуть, может удастся мбит 300 и то, чем больше будет файлов, а их количество будет только расти, тем хуже будет дискам. zzzit я использую кучу схем в том числе aio+directio, и sendfile. с двух обычных сата-дисков при чем сата2 с условиями тс ну никак не потянуть гигабит, разве что десяток очень популярных файлов кешить в tmpfs а остальное раздавать с дисков aio+directio (такое тоже делали, оперы правда поболее было), но тут еще надо смотреть список открытых файлов, имеет ли смысл что-то кешить, или там равномерные обращения ко всем файлам.

Z
На сайте с 06.09.2012
Offline
129
#116
Andron_buton:
может удастся мбит 300

По 18 мбайт/с с диска чтоли? Несеръезно.

Andron_buton:
я использую кучу схем в том числе aio+directio, и sendfile

Оба метода и через sendfile и через aio (речь об nginx'е, правильно?), не гарантируют, что к диску не будет параллельных обращений. Потому и так плохо.

Andron_buton
На сайте с 19.07.2007
Offline
270
#117
zzzit:
Оба метода и через sendfile и через aio (речь об nginx'е, правильно?), не гарантируют, что к диску не будет параллельных обращений. Потому и так плохо.

Эм, а как обслуживать клиентов, по очереди? Один скачал, даем второму? Интересно, сколько юзеров останется у ТС при такой схеме. Или что Вы имеете ввиду под "параллельными обращениями"?

---------- Добавлено 21.07.2013 в 20:38 ----------

zzzit:
По 18 мбайт/с с диска чтоли? Несеръезно.

Ну, тут я соврал немного, можно в принципе с 4-х дисков гигабит, то есть ТСу с двух можно будет вытянуть 500 Мбит/с и то до поры до времени, мое лично наблюдение, как только диск заполняется больше чем на 75% он все меньше и меньше отдает по скорости.

Z
На сайте с 06.09.2012
Offline
129
#118
Andron_buton:
Эм, а как обслуживать клиентов, по очереди? Один скачал, даем второму? Интересно, сколько юзеров останется у ТС при такой схеме. Или что Вы имеете ввиду под "параллельными обращениями"?

Смотрите, если несколько запросов пришли одновременно они могут быть обработаны двумя способами: послать все их в ядро и ждать ответов от всех сразу постепенно посылая запросы еще, как в случае с aio или послать один запрос на 2 мегабайта, подождать ответа, послать второй, подождать ответа, послать третий, подождать ответа и т.д. В первом случае они будут обрабатываться на усмотрение планироващика, который будет стараться угодить всем сразу в ущерб пропускной способности, а во втором случае у планировщика всегда только один запрос и полный контроль над тем, сколько данных за один запрос мы можем получить остается у нас и позволяет минимизировать количество позиционирований головки. Естественно, если пришло 3 запроса и ответ от диска занимает 30 мс, то первый клиент начнет получать ответ через 30 мс, второй через 60 мс, третий через 90 мс, но это незаметно для посетителей.

Andron_buton
На сайте с 19.07.2007
Offline
270
#119

zzzit, и что это за планировщик такой?

K
На сайте с 07.03.2011
Offline
172
#120
zzzit:
Смотрите, если несколько запросов пришли одновременно они могут быть обработаны двумя способами: послать все их в ядро и ждать ответов от всех сразу постепенно посылая запросы еще, как в случае с aio или послать один запрос на 2 мегабайта, подождать ответа, послать второй, подождать ответа, послать третий, подождать ответа и т.д. В первом случае они будут обрабатываться на усмотрение планироващика, который будет стараться угодить всем сразу в ущерб пропускной способности, а во втором случае у планировщика всегда только один запрос и полный контроль над тем, сколько данных за один запрос мы можем получить остается у нас и позволяет минимизировать количество позиционирований головки. Естественно, если пришло 3 запроса и ответ от диска занимает 30 мс, то первый клиент начнет получать ответ через 30 мс, второй через 60 мс, третий через 90 мс, но это незаметно для посетителей.

А теперь все то же самое в масштабах http://highload.biz/ru/faq/#1. А именно 2250 одновременных просмотров... ну хорошо, всего 500 пользователей смотрят фильмЫ.

Лень считать, но или кто-то ждет "вечность", или опять возвращаемся к уменьшению порционности и затыкам в IO.

---------- Добавлено 22.07.2013 в 00:17 ----------

Andron_buton:
zzzit, и что это за планировщик такой?

Сферический, вакуумный...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий