балансинг по жестким дискам
Olexander Shtepa
isk at idegroup.com
Mon Jan 12 18:08:33 MSK 2009
> OS> Это в идеальном случае. Я бы сказал что это соответствует средним нагрузкам.
> OS> В предельных случаях (min, max) ситуация уже зависит от алгоритма работы
> OS> конкретной реализации RAID-1.
>
> OS> В линуксе это так:
> OS> * This routine returns the disk from which the requested read should
> OS> * be done. There is a per-array 'next expected sequential IO' sector
> OS> * number - if this matches on the next IO then we use the last disk.
> OS> * There is also a per-disk 'last know head position' sector that is
> OS> * maintained from IRQ contexts, both the normal and the resync IO
> OS> * completion handlers update this position correctly. If there is no
> OS> * perfect sequential match then we pick the disk whose head is closest.
>
> разве этот алгоритм работы не будет оптимальнее
> "ручной" привязки запрашиваемых файлов к дискам?
К сожалению этот алгоритм работает на блочном уровне, а важна вся цепочка:
nginx -> FS -> md -> disk
Для того чтобы эта оптимизация срабатывала нужно чтобы запрашиваемые блоки
данных были достаточно большого размера. Но как известно ужмёшь в одном месте
- в другом вылезет.
Так что "ручная привязка" это уже оттюненый метод (насколько я понял).
А с RAID-1 еще игратся надо.
More information about the nginx-ru
mailing list