Всем привет!Кто может сказать, почему сильно различается скорость при копировании одного и того же файла между разными дисками?
Имеем диски:
1. Internal-диск на сервере SunFire 280R(далее будем называть его int)
2. RAID0 (2 диска на массиве T3, далее - r0)
3. RAID5+hotspare (6 дисков на массиве T3 + 1 диск на стреме, далее - r5)Массив T3 1 unit, присоединен к серверу по оптической паре.
Имеем файл test размером 0.5 gb.
Вот времена копирования этого файла командой cp в секундах (замерял несколько раз):
int -> r0 24
int -> r5 12
r5 -> int 29
r5 -> r0 24
r0 -> r5 12
r0 -> int 29Очень странно. Я готов поверить в чудо, что на RAID5 быстрее, чем RAID0, но не настолько же (см. строчки 2,4 в сравнении с 1,5). Или я ошибаюсь?
Настройки T3 самые обычные.
Если смотреть статистику по дискам, то можно заметить несколько интересных вещей:1. При выполнении копирования данные практически целиком берутся из кэша массива T3 (это гуд), и активность наблюдается лишь по записи на том диске, куда файл копируется.
2. Почему-то RAID5 обрабатывает ~ 150 i/o в секунду (запись идет со скоростью ~50 mb/sec), а RAID0 соответственно ~ 80 i/o (скорость ~ 25 mb/sec).Какие соображения?
1. Работа с командой dd показала ту же тенденцию - быстрее всего происходит запись на RAID5, потом с _заметным_отставанием_ идет RAID0 и медленней всего в плане записи оказывается диск на борту сервера (пробовал делать dd с различными bs, count, чтобы в итоге получался файл 0.5 gb)
2. При работе с командой cp cтатистика, взятая с web-страницы массива T3, показала, что cache hits по чтению _заметно_ниже_ количества "промахов" (это же касается соотношения попаданий-промахов в кеш записи). Сие тоже кажется странным - запущенный во время копирования iostat (и статистика на web-странице массива)показывает активность лишь по записи. Откуда же берутся данные, не найденные в кеше (промахи)? Не вижу другого источника, кроме диска, но статистика неумолимо показывает нулевую активность по чтению.Извините, что много "нагрузил" - очень хочется докопаться до истины ))
>1. Работа с командой dd показала
>ту же тенденцию - быстрее
>всего происходит запись на RAID5,
>потом с _заметным_отставанием_ идет RAID0
>и медленней всего в плане
>записи оказывается диск на борту
>сервера (пробовал делать dd с
>различными bs, count, чтобы в
>итоге получался файл 0.5 gb)
>
>2. При работе с командой cp
>cтатистика, взятая с web-страницы массива
>T3, показала, что cache hits
>по чтению _заметно_ниже_ количества "промахов"
>(это же касается соотношения попаданий-промахов
>в кеш записи). Сие тоже
>кажется странным - запущенный во
>время копирования iostat (и статистика
>на web-странице массива)показывает активность лишь
>по записи. Откуда же берутся
>данные, не найденные в кеше
>(промахи)? Не вижу другого источника,
>кроме диска, но статистика неумолимо
>показывает нулевую активность по чтению.
>
>
>Извините, что много "нагрузил" - очень
>хочется докопаться до истины ))
>че копать, прочти и подумай о различиях RAID
уровней 0 и 5, все встанет на места.
>Всем привет!
>
>Кто может сказать, почему сильно различается
>скорость при копировании одного и
>того же файла между разными
>дисками?
>
>Имеем диски:
>1. Internal-диск на сервере SunFire 280R(далее
>будем называть его int)
>2. RAID0 (2 диска на массиве
>T3, далее - r0)
>3. RAID5+hotspare (6 дисков на массиве
>T3 + 1 диск
>на стреме, далее - r5)
>
>
>Массив T3 1 unit, присоединен к
>серверу по оптической паре.
>
>Имеем файл test размером 0.5 gb.
>
>
>Вот времена копирования этого файла командой
>cp в секундах (замерял несколько
>раз):
>
>int -> r0 24
>int -> r5 12
>r5 -> int 29
>r5 -> r0 24
>r0 -> r5 12
>r0 -> int 29
>
>Очень странно. Я готов поверить в
>чудо, что на RAID5 быстрее,
>чем RAID0, но не настолько
>же (см. строчки 2,4 в
>сравнении с 1,5). Или я
>ошибаюсь?
>Настройки T3 самые обычные.
>Если смотреть статистику по дискам, то
>можно заметить несколько интересных вещей:
>
>
>1. При выполнении копирования данные практически
>целиком берутся из кэша массива
>T3 (это гуд), и активность
>наблюдается лишь по записи на
>том диске, куда файл копируется.
>
>2. Почему-то RAID5 обрабатывает ~ 150
>i/o в секунду (запись идет
>со скоростью ~50 mb/sec), а
>RAID0 соответственно ~ 80 i/o
>(скорость ~ 25 mb/sec).
>
>Какие соображения?
Все это исходит из теории RAID'ов:- в 0 ты на каждый 1 блок данных пишешь такой же блок + время на синхронизацию данных
- в 5 получается по твоей схеме пишется 5 блоков данных и всего лишь 1 блок контрольной суммы - отсюда и выигрыш в скорости
Например так работает софтовый RAID-5 у Соляры Solstice DiskSuite:RAID-5
disk1 disk2 disk3 disk4 disk5 disk6
----- ----- ----- ----- ----- -----
b11 b12 b13 b14 b15 ks1
b22 b23 b24 b25 ks2 b21
b33 b34 b35 ks3 b31 b32
b44 b45 ks4 b41 b42 b43
b55 ks5 b51 b52 b53 b54
ks6 b61 b62 b63 b64 b65Теоретический выигрыш в скорости по сравнению с RAID-0 довольно высокий 100-150%, реально меньше, что видимо обусловлено различными как технологическими, так и программными факторами.
Привет, Vlad!Если это действительно так, то мои цифры вполне объяснимы.
До сих пор я считал, что RAID5 медленней по записи, чем RAID0, потому что в 5-м рейде надо дополнительно вычислять и записывать CRC, от чего избавлен 0-й рейд. И это до сих пор подтверждалось на практике на всех интелевых серверах под различными ОС на различных RAID-контроллерах (рейд 0 всегда был ненамного, но быстрее, чем рейд 5, особенно по записи).
Спасибо за науку!
>Всем привет!
>
>Кто может сказать, почему сильно различается
>скорость при копировании одного и
>того же файла между разными
>дисками?
>
>Имеем диски:
>1. Internal-диск на сервере SunFire 280R(далее
>будем называть его int)
>2. RAID0 (2 диска на массиве
>T3, далее - r0)
>3. RAID5+hotspare (6 дисков на массиве
>T3 + 1 диск
>на стреме, далее - r5)
>
>
>Массив T3 1 unit, присоединен к
>серверу по оптической паре.
>
>Имеем файл test размером 0.5 gb.
>
>
>Вот времена копирования этого файла командой
>cp в секундах (замерял несколько
>раз):
>
>int -> r0 24
>int -> r5 12
>r5 -> int 29
>r5 -> r0 24
>r0 -> r5 12
>r0 -> int 29
>
>Очень странно. Я готов поверить в
>чудо, что на RAID5 быстрее,
>чем RAID0, но не настолько
>же (см. строчки 2,4 в
>сравнении с 1,5). Или я
>ошибаюсь?
>Настройки T3 самые обычные.
>Если смотреть статистику по дискам, то
>можно заметить несколько интересных вещей:
>
>
>1. При выполнении копирования данные практически
>целиком берутся из кэша массива
>T3 (это гуд), и активность
>наблюдается лишь по записи на
>том диске, куда файл копируется.
>
>2. Почему-то RAID5 обрабатывает ~ 150
>i/o в секунду (запись идет
>со скоростью ~50 mb/sec), а
>RAID0 соответственно ~ 80 i/o
>(скорость ~ 25 mb/sec).
>
>Какие соображения?
встречный вопрос: а ты SUN STOREDGE COMPONENT MANAGER ставил на SunFire? Если да, то как он - стоит использовать?