В настоящее время я создаю программный RAID под Linux, используя mdadm
Утилита, и я прочитал несколько статей, в которых описывается, как увеличить значение stripe_cache_size для этого RAID и как вычислить подходящее значение для stripe_cache_size.
Я увеличил свою до 16384, и моя текущая скорость синхронизации на новом RAID5 в / proc / mdstat подскочила с 71065K / сек до 143690K / sec (удвоена!), Что является хорошей новостью. Я также вижу соответствие и ожидаемое увеличение использования ОЗУ, однако я не могу найти никакой документации о том, что делает этот параметр и как он работает.
Похоже, это какой-то кеш для RAID, который существует в RAM. Это все, что я могу сказать по его названию и по эффектам, наблюдаемым при его изменении. Есть ли какая-нибудь официальная "Linux" документация по этой настройке и ее описанию?
Насколько я понимаю, stipe_cache_size - это количество записей полосы в кеше полос. Записи полос различаются от системы к системе, но в основном это зависит от размера страницы (по умолчанию 4096 байт в системах Linux) (https://github.com/torvalds/linux/blob/master/drivers/md/raid5.c#L73 , этот файл имеет всю логику полосового кэша, если вы хотите копнуть глубже), поэтому в 4-дисковом RAID5 stripe_cache_size 32768 будет стоить вам 512 МБ ОЗУ. насколько я знаю это влияет только на raid5.
вот 2 ссылки на документацию: - https://github.com/torvalds/linux/blob/master/Documentation/md.txt#L603 - https://raid.wiki.kernel.org/index.php/Performance#Some_problem_solving_for_benchmarking