Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
Есть некий linux-сервер в типовой комплектации без raid-контроллера, с двумя дисками, настроенный якобы знающим свое дело администратором из киношников. Вместо использования raid1, там после обновления запускают вручную rsync и синхронизируют файлы в двух каталогах. Синхронизация происходит это достаточно редко. Раздача файлов ведется с помощью nginx и скрипта, который случайным образом с 50% вероятностью выбирает один из дисков. Нагрузка действительно более-менее равномерно распределяется. Очевидно, содержимое некоторых популярных файлов в такой схеме будет закешировано два раза. В чем логика? Почему в данной ситуации выбрана именно эта конфигурация ? Чем она лучше raid1 ? Существует ли какая-то проблема при последовательном чтении файла вызванная тем, что raid1 будет пытаться читать блоки файла вперемешку с разных дисков ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2012, 18:47 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
а сам админ чо сказал ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2012, 19:20 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
Aklin, он улетел и не обещал вернуться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2012, 20:06 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
netwind.... Раздача файлов ведется с помощью nginx и скрипта, который случайным образом с 50% вероятностью выбирает один из дисков. Нагрузка действительно более-менее равномерно распределяется. Очевидно, содержимое некоторых популярных файлов в такой схеме будет закешировано два раза. если раздаются жирные файлы, скорее всего дирекит ио включено, значит ни разу не будет закешировано. эпические треды по этому поводу в рассылке нжинкс ищи ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2012, 21:16 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
drsmnetwind.... Раздача файлов ведется с помощью nginx и скрипта, который случайным образом с 50% вероятностью выбирает один из дисков. Нагрузка действительно более-менее равномерно распределяется. Очевидно, содержимое некоторых популярных файлов в такой схеме будет закешировано два раза. если раздаются жирные файлы, скорее всего дирекит ио включено, значит ни разу не будет закешировано. эпические треды по этому поводу в рассылке нжинкс ищи ). Да, файлы жирные, как следует из описания сайта. И включен AIO. Он ведь подразумевает отключение directio ? Еще не известно нужен ли этому серверу с гигабитным подключением AIO. Я не знаю как в рассылке nginx отличить где заканчивается хайлоад и начинается "хайололоад" . Все читают эту рассылку nginx, надувают щеки, видят конфиги и вставляют себе эти ужасно необходимые фичи nginx не понимая почему они необходимы. Вот что вам стоит вспомнить суть, если вы ее уяснили ? Допустим, кеш не имеет значения при такой нагрузке, но вопрос об отказе от raid не ясен все равно. Выигрыша не будет, но будет проигрыш в том, что каждый раз после закачки нового файла запускать синхронизацию. По крайней мере владелец этого сайта вынужден так делать сейчас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2012, 23:46 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
Может им зеркалирование просто нужно. Защита от дурака. Раид такого не обеспечивает. ПС Живет такая база, как Informix. Там есть уникальная фича - можно зеркалировать файлы базы данных, а не только логи. Иногда бывает полезно для задирания производительности, если разнести файлы по разным каналам контроллера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2012, 23:53 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
Relic HunterМожет им зеркалирование просто нужно. Защита от дурака. Раид такого не обеспечивает. Контент малоценный - его на торентах всегда перекачать и пережать можно. Защищаться от дурака смысла нет. Задачи этого сервера известны - раздача крупных файлов. Тут никаких предположений и информиксов не нужно . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2012, 00:00 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
netwind, Ну дак если у вас будет две копии файла, чтение может идти быстрее. Я это имел ввиду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2012, 00:16 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
netwindRelic HunterМожет им зеркалирование просто нужно. Защита от дурака. Раид такого не обеспечивает. Контент малоценный - его на торентах всегда перекачать и пережать можно. Защищаться от дурака смысла нет. Задачи этого сервера известны - раздача крупных файлов. Тут никаких предположений и информиксов не нужно . raid1 имеет неэффективный паттерн round-robin на упреждающем чтении. Т.е. дана команда - считать 16 метров. 8 метров начнет читать с одного диска, и 8 сразу с другого. Но два конкурирующих треда будут гонять по две головки по пластинам уже в конкуренции, мешая друг другу. А тут (без рейда) - эти-же два треда, каждый присел на свой толстый chunk, и высасывает файл сектор за сектором, не гоняя головки другого диска. Вроде мелочь, но профит налицо. На обычных файлопомойках и домашних писишках такое не сильно заметно, т.к. нагрузка там не конкурентная в виду наличия кеша и конвеера. Плюс диски могут иметь несимметричную скорость чтения (ваш КО). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2012, 00:22 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
Птичница-синичница, с доказательством неэффективности этого паттерна не все ясно. авторНо два конкурирующих треда будут гонять по две головки по пластинам уже в конкуренции, мешая друг другу. Но ведь при раздаче файлов треды всегда конкурируют. Их всегда больше двух, а на деле тысячи. Головка так или иначе будет летать туда-сюда. Останется ли тут разница ? В общем я пока не вижу разницы конфигурации с raid и описанным скриптом с раздачей. И та и другая выплевывают ~ 700 мбит примерно с одинаковом %util по munin или iostat -d. Причем на одном памяти 24Г против 8 и процессор посовременнее. Такое впечатление, что это все мертвому припарки и натуральный хайололоад. Вся производительность зависит только от скорости и числа дисков. Буду наблюдать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2012, 00:58 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
Если синхронизация только после перезагрузки, то, может быть, кроме производительности при раздаче преследуется цель иметь оперативную резервную копию? Что касается двойного кэширования - на это явно никто не запаривался, а умные контроллеры и умные LVM тоже умеют чиать параллельно с обеих половин херкала для повышения производительности чтения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2012, 09:10 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
netwindПтичница-синичница, с доказательством неэффективности этого паттерна не все ясно. авторНо два конкурирующих треда будут гонять по две головки по пластинам уже в конкуренции, мешая друг другу. Но ведь при раздаче файлов треды всегда конкурируют. Их всегда больше двух, а на деле тысячи. Ты видно плохо изучил nginx, количества тредов в нем. netwindГоловка так или иначе будет летать туда-сюда. Останется ли тут разница ? Треды гоняются уже системой, для реализации на aio. Дальше все зависит от включенного конвеера (шедулера). К примеру noop позволяет выстроить всех тупо в очередь. Если фрагментация не сильно высокая, то на толстых файлах это таки может дать профит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2012, 09:20 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
птичница-синичницаnetwindПтичница-синичница, с доказательством неэффективности этого паттерна не все ясно. пропущено... Но ведь при раздаче файлов треды всегда конкурируют. Их всегда больше двух, а на деле тысячи. Ты видно плохо изучил nginx, количества тредов в нем. netwindГоловка так или иначе будет летать туда-сюда. Останется ли тут разница ? Треды гоняются уже системой, для реализации на aio. Дальше все зависит от включенного конвеера (шедулера). К примеру noop позволяет выстроить всех тупо в очередь. Если фрагментация не сильно высокая, то на толстых файлах это таки может дать профит. А при чем тут треды nginx? Один тред nginx способен обработать несколько тысяч клиентов. треды там настраивают под количество ядер. Сколько клиентов придет столько запросов и к диску и будет послано. однако на описываемом сервере всего два треда nginx на 8 ядер Xeon E31230 . Вот тогда побольше настроек nginx выложу : Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. версия 1.0.12 из squeezy-backports, вроде nginx-extras. с aio и так далее. Эта настройка приводит к тому, что запросы на дисковое чтение выполняются с конкуренцией не более 2 ? Про шедулер этот неизвестный киносисадмин забыл или специально не стал настраивать - там cfq, как и есть по дефолту в дебиане. И размер очереди в 128. авторЕсли синхронизация только после перезагрузки, то, может быть, кроме производительности при раздаче преследуется цель иметь оперативную резервную копию? Что касается двойного кэширования - на это явно никто не запаривался, а умные контроллеры и умные LVM тоже умеют чиать параллельно с обеих половин херкала для повышения производительности чтения. Не думаю. Я специально описал не только железо но и область применения. Это тупой и низкодоходный бизнес. Обычные типовые сервера. Переплачивать за нестандартное железо никто не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2012, 12:52 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
netwindбез raid-контроллера ... Вместо использования raid1Варианты: 1) админ не смог настроить софтовый рейд. 2) админ не знал, что можно настроить софтовый рейд. 3) подразумевалось произвольное изменение количества дисков от 1 до N, где N>2 и, возможно, меняется во времени (умеют ли софтовые рейды использовать под рейд1 более двух дисков?). 4) требовалось решение для более широкого диапазона применений, например, передача/клонирование системы в условиях, когда нет админа, способного настроить софтовый рейд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2012, 19:47 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
miksoftnetwindбез raid-контроллера ... Вместо использования raid1Варианты: 1) админ не смог настроить софтовый рейд. 2) админ не знал, что можно настроить софтовый рейд. 3) подразумевалось произвольное изменение количества дисков от 1 до N, где N>2 и, возможно, меняется во времени (умеют ли софтовые рейды использовать под рейд1 более двух дисков?). 4) требовалось решение для более широкого диапазона применений, например, передача/клонирование системы в условиях, когда нет админа, способного настроить софтовый рейд. Ну это уж вы как-то совсем не верите в российское ИТ. Не думаю что не смог. Программный raid1 может использовать и распределять нагрузку чтения на любое число устройств. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2012, 21:14 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
netwindДа, файлы жирные, как следует из описания сайта. И включен AIO. Он ведь подразумевает отключение directio ? Еще не известно нужен ли этому серверу с гигабитным подключением AIO. Я не знаю как в рассылке nginx отличить где заканчивается хайлоад и начинается "хайололоад" . Все читают эту рассылку nginx, надувают щеки, видят конфиги и вставляют себе эти ужасно необходимые фичи nginx не понимая почему они необходимы. Вот что вам стоит вспомнить суть, если вы ее уяснили ? Допустим, кеш не имеет значения при такой нагрузке, но вопрос об отказе от raid не ясен все равно. Выигрыша не будет, но будет проигрыш в том, что каждый раз после закачки нового файла запускать синхронизацию. По крайней мере владелец этого сайта вынужден так делать сейчас. авторВ Linux AIO можно использовать только начиная с версии ядра 2.6.22, и, кроме того, ещё необходимо дополнительно включать directio, иначе чтение будет блокирующимся. хотконтент в память лезет? рейд1, вроде как, судя по тестам проведенным не мной :D, менее годно размазывает нагрузку, но я бы сделал рейд1 )). схема frontend (прокси пасс без буфферизации) -> sendfile backend (с sendfile_max_chunk, read_ahead, по воркеру на диск), если памяти много, заруливает аио. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 03:31 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
drsmхотконтент в память лезет? Похоже, нет. Я пробовал и включать и выключать directio. Параметры типа load avg и iowait уменьшаются, но толку все равно мало. Загрузка сетевой карты не меняется вообще, а значит эффекта этот бизнес не почувствует. Пришел в выводу, что на скоростях до 1 гбита мудрить смысла нет вообще. А 10 гбит что-то им не нравится по ценам. Уже не того поля ягоды. drsmрейд1, вроде как, судя по тестам проведенным не мной :D, менее годно размазывает нагрузку, но я бы сделал рейд1 )). Вот эти подробности главным образом меня и интересовали. Что и как померить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 03:42 |
|
||
|
раздача файлов без raid, зачем ?
|
|||
|---|---|---|---|
|
#18+
netwindНу это уж вы как-то совсем не верите в российское ИТ. Не думаю что не смог.Да что тут верить или не верить? я таких каждый день наблюдаю... Люди, которые настраивают весьма сложные сервера, сети, АТС и т.п., регулярно забывают в настройках простенькой программы какой-нибудь комбик правильно выставить. И мне, в частности, приходится чуть ли не искусственный интеллект писать по определению программой окружающих условий своего функционирования, чтобы она была как можно более админоустойчивой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2012, 09:48 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=37730650&tid=1483644]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
76ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 183ms |

| 0 / 0 |
