вот вместо твоей невнятности на вики лучше просто почитать статью и понять что к почему. а тебе - учиться писать понятно а не «умничать».
кстати в реальности можно и не заметить что есть AF на дисках. это было так заметно на ранних WD.
кстати возможно на некоторых дисках AF скрытое, просто никто не раскопал и по скорости не заметно.
Дух старой школы жил только в «хакере», а теперь и на лорвики. «Ну что, чувак, сегодня мы с тобой забабахаем линукс на хард и будем самыми крутыми на районе. А дистр конечно возьмем самый четкий, восьмую мандриву...»
Я не про то. А про стиль изложения. Вот тебе для сравнения начало статьи про гимп из хакера 2000 года:
«GIMP'УЙ ДЕВЧОНОК!!!
Ты уже отрастил бороду? Что значит «упс, забыл»? Мы же договаривались, что будем косить под крутых художников-дизайнеров, а какой художник без бороды и длинных волос? Нет, я так не играю :(. Иди, отращивай бороду, обломист... Постой-ка, есть идея. Мы будем косить под графитчиков! Они ведь тоже художники :). Только без бород - как раз то, что нам надо.»
Ещё могу предложить глянуть презентацию «Optimize Storage Performance with Red Hat Enterprise Linux» (Mike Snitzer, 09/03/2009), раздел «I/O Topology» — там кратко рассматривается суть topology-aware для дисковой подсистемы. Более детальное описание, правда, не искал.
Спасибо, уже читаю. Ещё в ту же степь немного устаревший «Recommendations for Aligning VMFS Partitions» для esx3. К 4.1 то же самое упоминается очень кратко и без картинок в «Performance Best Practices for VMware vSphere 4.1»
1) Если диск достаточно новый, а разделы выровнены по границам цилиндров
Т.е. если в выводе
fdisk -lu /dev/sda | grep '^\/' | while read disk start other; do
if [ ! "$( echo $start % 2048 | bc )" -eq "0" ]; then
echo "$disk not aligned";
fi;
done
есть строки вида
/dev/sda1 not aligned
то раздел не выровнен, а если диск новый - то выравнивать было нужно
Ничо так статья. Не шедевр, но нормалёк. В суть проблемы вводит, самые основные советы даёт, читается нормально. Моя оценка - твёрдая четвёрка. Вместо «лучше больше, чтобы исключить кеш» я бы написал про sysctl vm.drop_caches=3 :)
> dd if=/dev/zero of=/home/test.raw bs=128k count=800
У меня моментально отработало. Тест не годится - некоторые ФС (у меня ext4) могут «лениво» заполнять файлы нулями.
Сделал еще раз. Действительно наверно не заполняет, но судя по звуку - пишет на диск уже _после_ отработки dd, т.е. заполняет кеш. У меня вот что получается:
800+0 записей считано
800+0 записей написано
скопировано 104857600 байт (105 MB), 0,207396 c, 506 MB/c
а вот для диска без таблицы разделов это актуально? т.е. у меня на весь терабайт без таблицы разделов накатано XFS. диск, правда, WD Green Adwanced Format. запись гигабайта dd if=/dev/zero of=/terabyte/test.raw bs=128k count=8000 показала 71Mb/s, что ввиду утверждения выше про нормальную скорость в 120 мегабайт несколько странно и печально
> Сделал еще раз. Действительно наверно не заполняет, но судя по звуку - пишет на диск уже _после_ отработки dd, т.е. заполняет кеш.
Можешь использовать time (dd ... ; sync) в таком случае. У тебя, наверное, много оперативки.
Вместо «лучше больше, чтобы исключить кеш» я бы написал про sysctl vm.drop_caches=3
Насколько я понял из Documentation/filesystems/proc.txt, эта команда просто очищает кэш от чистых объектов. Т.е. если сначала sync, а затем это sysctl, то кэш будет пустой.
Есть вариант лучше: параметр oflag=direct к dd. Для чтения - iflag=direct.
Посмотри презентацию, которую рекомендовал GotF. Очень интересная информация, второй день читаю запоем. Там много конкретики и постоянно отсылки на документацию ядра. Из хомячьего синдрома на всякий случай выкачал все pdf redhat'овских саммитов :)
>а вот для диска без таблицы разделов это актуально?
Для диска без раздела не должно быть актуально, за одним исключением. Электроника винта может сама транслировать адреса, обычно это выставляется джампером, см.
И ещё есть параметр /sys/block/$DEVICE/alignment_offset (не знаю, окажет ли он влияние на уже созданные разделы и ФС)
запись гигабайта dd if=/dev/zero of=/terabyte/test.raw bs=128k count=8000 показала 71Mb/s, что ввиду утверждения выше про нормальную скорость в 120 мегабайт несколько странно и печально
Ну, если честно на гринах 120 МиБ/с в начале диска, а в конце скатывается в 75-80. Если данных на разделе уже много и файл получается фрагментированным, скорость будет ещё меньше.
GotF, огромное спасибо! Эти презентации с redhat summit'ов - нереально полезный источник информации! Главное, в отличие от большинства книг, там всё сжато, сразу видно что ещё не знаешь, и - ссылки на документацию ядра :)
Кстати, на прошлой неделе как раз прошёл summit 2011, наверняка там тоже есть что почитать