балансинг по жестким дискам

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