ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re[5]: Отдача больших файлов



On Wed, Apr 01, 2009 at 12:36:50PM +0400, Dmitry Dedukhin wrote:

> Ну хорошо, а если сравнить с вариантом, когда каждый файл целиком лежит на 
> одном диске?

Тоже будет плохо. Но не будет лишних телодвижений.

> ----- Original Message ----- 
> From: "Igor Sysoev" <is@xxxxxxxxxxxxx>
> To: <nginx-ru@xxxxxxxxx>
> Sent: Wednesday, April 01, 2009 11:16 AM
> Subject: Re: Re[5]: Отдача больших файлов
> 
> 
> On Wed, Apr 01, 2009 at 10:26:15AM +0400, Dmitry Dedukhin wrote:
> 
> >1. Для того, чтобы один файл отдавался более чем одним бэкендом-хранилищем
> >(особенно в случае нескольких супер-популярных файлов).
> >2. Для того, чтобы запросы с Range'ем с большей вероятностью использовали
> >разные бэкенды (т.е. в случае многопоточного скачивания скорость будет
> >выше).
> >
> >Понятно, что для небольших файлов (меньше размера одного чанка) он всё
> >равно будет лежать на одном хранилище.
> 
> По идее, это должно работать, если бэкенды заняты толькоэтим популярным
> файлом, но на деле к ним же ещё будут приходить куча непопулярных запросов.
> 
> >----- Original Message ----- 
> >From: "Igor Sysoev" <is@xxxxxxxxxxxxx>
> >To: <nginx-ru@xxxxxxxxx>
> >Sent: Wednesday, April 01, 2009 9:24 AM
> >Subject: Re: Re[5]: Отдача больших файлов
> >
> >
> >On Wed, Apr 01, 2009 at 08:05:18AM +0400, Dmitry Dedukhin wrote:
> >
> >>Как вариант эффективной раздачи больших файлов можно использовать схему
> >>бэкенд(хранилище, рэйд-массив)+фронтенд(сервер, с которым "общается"
> >>пользователь).
> >>После загрузки на фронтенд каждый файл разбивается на небольшие куски
> >>(2-5МБ), каждый кусок кладется на случайно выбранный бэкенд,
> >>идентификатором файла является его хэш (md5 например). Информация о
> >>расположении кусков хранится в простейшем случае в центральной базе (для
> >>высоконагруженного проекта имеет смысл использовать распределенную БД или
> >>её аналог).
> >>При скачивании файла nginx запрашивает информацию о расположении всех
> >>кусков (или части в случае запроса с заголовком Range) и начинает 
> >>отдавать
> >>файл, запрашивая каждый кусок с демона, висящего на каждом бэкенде.
> >
> >А зачем файл разбивать ?
> >
> >
> >-- 
> >Игорь Сысоев
> >http://sysoev.ru
> >
> 
> -- 
> Игорь Сысоев
> http://sysoev.ru
> 

-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.