балансинг по жестким дискам
Olexander Shtepa
isk at idegroup.com
Mon Jan 12 14:51:04 MSK 2009
> ММ> Видимо при большой конкурентности запросов на чтение лучше, если один
> ММ> файл целиком читается с одного диска. В случае использования
> ММ> зеркалирования большие файлы елятся на кусочки и запросы на чтение
> ММ> этих кусочков распределяются по дискам в зеркале. Получаем больше
> ММ> позиционирований головок дисков.
>
> "файлы делятся на кусочки" - это RAID-0 / RAID-10 / RAID-5 / etc.
>
> mirror / зеркалирование - это RAID-1. здесь нет никаких кусочков.
>
> у RAID-1 на N винтах производительность выше примерно в N раз по сравнению с 1 винтом.
>
> http://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_1_performance
>
> Since all the data exists in two or more copies, each with its own hardware,
> the read performance can go up roughly as a linear multiple of the number of copies.
Это в идеальном случае. Я бы сказал что это соответствует средним нагрузкам.
В предельных случаях (min, max) ситуация уже зависит от алгоритма работы конкретной
реализации RAID-1.
В линуксе это так:
* This routine returns the disk from which the requested read should
* be done. There is a per-array 'next expected sequential IO' sector
* number - if this matches on the next IO then we use the last disk.
* There is also a per-disk 'last know head position' sector that is
* maintained from IRQ contexts, both the normal and the resync IO
* completion handlers update this position correctly. If there is no
* perfect sequential match then we pick the disk whose head is closest.
More information about the nginx-ru
mailing list