Отдача больших файлов

MZ zuborg at advancedhosters.com
Fri Mar 13 20:59:31 MSK 2009


Монашёв Михаил wrote:
> Здравствуйте, MZ.
> 
>>> Зеркалирование никак не поможет при больших файлах.
> 
>> Никак-никак ? Если отдается только один файл то я ещё могу согласиться,
>> но если два и больше ?
> 
> Как я понимаю, мы говорим про высоко конкурентные запросы к диску.

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

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

>>> Если критична скорость, а не надёжность, то лучше не объединять в
>>> зеркало, а разложить файлы по двум дискам. Это уменьшит количество
>>> сиков, ведь при чтении с зеркала большой файл будет читаться мелкими
>>> кусочками с двух дисков.
> 
>> Смотря как читать, round-robin возможно (и то, если отдается только один
>> файл на текущий момент, и опять же, это не замедляет!, а всего лишь 
>> приводит к скорости одиночного диска), но на самом деле нет препятствий
>> чтобы читать большой файл с того диска в зеркале откуда это удобней 
>> (читай - быстрее) делать.
> 
> Жду от Вас патча для gmirror.
> Там проблема вроде в том, что geom оперирует блоками, а не файлами.

Патч давно доступный:
http://www.freebsd.org/cgi/query-pr.cgi?pr=113885

Где "там" и в чем суть проблемы ?





More information about the nginx-ru mailing list