Какой эффект RAID чередует размер, имеют на считанных вперед настройках?

То, как установить туннель GRE, описано по http://lartc.org/howto/lartc.tunnel.gre.html С iptables, необходимо смочь переписать пакеты. Что-то вроде:

iptables-A POSTROUTING-j SNAT-t туземный-o gre0-d 10.y.y.y - 10.q.q.1-10.q.q.254 к источнику

6
задан 13 September 2012 в 05:52
1 ответ

Логика того, когда Linux применяет упреждающее чтение, сложна. Начиная с версии 2.6.23, есть действительно навороченный On-Demand Readahead , до этого он использовал менее сложный механизм прогнозирования. Цели проектирования упреждающего чтения всегда включают отказ от упреждающего чтения, если у вас нет шаблона доступа для чтения, который его оправдывает. Таким образом, идея о том, что размер полосы является важным элементом данных, в корне неверна. Отдельные чтения, которые находятся на этом конце диапазона файлового ввода-вывода, ниже размера полосы, обычно не запускают логику упреждающего чтения и все равно применяют ее к ним. Крошечные значения упреждающего чтения эффективно отключают эту функцию. А вы этого не хотите.

Когда вы действительно выполняете последовательный ввод-вывод для большого массива RAID10, единственный способ достичь полной пропускной способности многих систем - это настроить упреждающее чтение. В противном случае Linux не будет отправлять запросы достаточно быстро, чтобы использовать весь потенциал чтения массива. Последние несколько раз я тестировал большие дисковые массивы дисков RAID10, в диапазоне 24 дисковых массивов, большие настройки упреждающего чтения (> = 4096 = 2048 КБ) дали прирост производительности от 50 до 100% при последовательном вводе-выводе, как измерено. пользователя dd или bonnie ++. Попробуйте сами; запустите bonnie ++, сильно увеличьте упреждающее чтение и посмотрите, что произойдет. Если у вас большой массив, это быстро развеет идею о том, что числа упреждающего чтения, меньшие, чем типичные размеры полос, имеют какой-либо смысл.

Ядро Linux настолько осознает эту необходимость, что оно даже автоматически увеличивает для вас упреждающее чтение, когда вы создаете несколько типов массивов. Посмотрите этот пример на системе с версией 2.6. Ядро 32:

[root@toy ~]# blockdev --report
RO    RA   SSZ   BSZ   StartSec        Size      Device 
rw   256   512  4096          0    905712320512  /dev/md1 
rw   768   512   512          0    900026204160   /dev/md0

Почему упреждающее чтение 256 (128 КБ) на md1, а 768 (384 КБ) на md0? Это потому, что md1 - это 3-дисковый RAID0, и Linux увеличивает упреждающее чтение, зная, что у него нет надежды на достижение полной скорости в массиве такого размера со значением по умолчанию 256. Даже это на самом деле слишком мало; он должен быть 2048 (1024 КБ) или больше, чтобы достичь максимальной скорости, на которую способен небольшой массив.

Большая часть знаний о низкоуровневых настройках RAID, таких как размеры полос и выравнивание, - это всего лишь знания, а не реальность. Самостоятельно проведите тесты с несколькими настройками упреждающего чтения, посмотрите, что произойдет, и тогда вы будете знать полезные факты, с которыми можно работать.

и Linux увеличивает упреждающее чтение, зная, что у него нет никакой надежды на достижение полной скорости в массиве такого размера со значением по умолчанию 256. Даже это на самом деле слишком мало; он должен быть 2048 (1024 КБ) или больше, чтобы достичь максимальной скорости, на которую способен небольшой массив.

Большая часть знаний о низкоуровневых настройках RAID, таких как размеры полос и выравнивание, - это всего лишь знания, а не реальность. Самостоятельно проведите тесты с несколькими настройками упреждающего чтения, посмотрите, что произойдет, и тогда вы будете знать полезные факты, с которыми можно работать.

и Linux увеличивает упреждающее чтение, зная, что у него нет никакой надежды на достижение полной скорости в массиве такого размера со значением по умолчанию 256. Даже это на самом деле слишком мало; он должен быть 2048 (1024 КБ) или больше, чтобы достичь максимальной скорости, на которую способен небольшой массив.

Большая часть знаний о низкоуровневых настройках RAID, таких как размеры полос и выравнивание, - это всего лишь знания, а не реальность. Самостоятельно проведите тесты с несколькими настройками упреждающего чтения, посмотрите, что произойдет, и тогда вы будете знать полезные факты, с которыми можно работать.

4
ответ дан 3 December 2019 в 00:36

Теги

Похожие вопросы