Малая скорость записи hdd на linux

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

малая скорость записи hdd на linux

малая скорость записи hdd на linux

Сообщение svetosvit » 02.06.2011 17:05

Малая скорость записи hdd на linux
Скорость копирования на Linux Debian с жёткого на жёсткий (или с диска на этот же) примерно 30 Мб/c. на ext3 и ntfs
Скорость копирования на Windows Seven 80 Мб/c ntfs
В общем, линукс копирует в 2 раза медленней. (Как на внутренний диск так и на внешний usb)
Можжно как -то увеличить скорость копирования.

Жёсткие диски
ATA Hitachi
SATA Host Adapter
Wr Cache Enabled
120 Gb
Connection ATA

Seagate
Wr Cache Enabled
120 Gb
Connection USB 480 MB/s
500 Gb

И ещё по звуку слышно что внутренний Hitachi часто приостанавливается и запускается, например при просмотре картинок.

Re: малая скорость записи hdd на linux

Сообщение Goodvin » 02.06.2011 17:05

Re: малая скорость записи hdd на linux

Сообщение svetosvit » 02.06.2011 20:32

Re: малая скорость записи hdd на linux

Сообщение Ism » 03.06.2011 00:03

Такое возможно если у винта нестандартные секторы по 4 кб. Нужно будет переразбить по правилам

Будьте осторожны применяя эту статью

Re: малая скорость записи hdd на linux

Сообщение Doublespace » 03.06.2011 17:13

Re: малая скорость записи hdd на linux

Сообщение svetosvit » 03.06.2011 18:46

Re: малая скорость записи hdd на linux

Сообщение liaonau » 03.06.2011 19:45

Re: малая скорость записи hdd на linux

Сообщение svetosvit » 03.06.2011 20:20

hdparm -ItT /dev/sda

Re: малая скорость записи hdd на linux

Сообщение sgfault » 13.06.2011 14:47

Как вам уже советовали, уточните какие у вас сектора, и, если 4к, то выровняйте разделы. Уточнить размер сектора лучше всего на сайте производителя, но также это можно сделать с помощью dd.

Например, сначала попробуйте писать блоками по 512 байт:

Размер блока bs указывается в байтах, смещение seek — в блоках (bs байт каждый), во втором тесте YYY должно быть кратно 8.

Обратите внимание, что эти тесты приведут К ПОТЕРИ ДАННЫХ по смещению seek. Поэтому смещение должно быть в неиспользуемую область диска.
Чтобы не ошибиться с вычислением смещения, можно пойти немного другим путем: создать новый раздел, выровняв его границу по 4к секторам. И затем записывать в этот раздел вот так

Также, вместо создания нового раздела можно использовать таблицы для device mapper-а.
Если у вас диск с 4к секторами, разница в скорости в тестах будет значительной (где-то в два-три раза).

PS. Ах да, и не верьте hdparm-у про 512-байтные сектора — врет он все -)

Re: малая скорость записи hdd на linux

Сообщение svetosvit » 13.06.2011 15:49

Благодарю за помощь.
Сначала подумаю, как освободить свободное место на дисках, т.к. резак у дисковода отказал.

Только вот что ещё: скорость записи не только на этих дисках, но и всех подключаемых через usb ниже в 2 раза по отношению к скорости винды. (То ли я дурак, то ли лыжи не едут)

Re: малая скорость записи hdd на linux

Сообщение sgfault » 13.06.2011 18:26

Re: малая скорость записи hdd на linux

Сообщение mailman137 » 13.06.2011 22:25

Re: малая скорость записи hdd на linux

Сообщение svetosvit » 14.06.2011 12:24

mount /dev/sdс2 /mnt/usb-drive
dd if=/dev/zero of=/mnt/usb-drive/test_file bs=512

ввёл команду — пару часов повисела командная строка — ни чего не отобразилось. закрыл.

Re: малая скорость записи hdd на linux

Сообщение sgfault » 14.06.2011 13:43

Копировал с внутреннего на внешний и с внешнего на внутренний. Вообще-то снижение скорости копирования под линем заметил ещё и в Мандриве пару лет назад.

mount /dev/sdс2 /mnt/usb-drive
dd if=/dev/zero of=/mnt/usb-drive/test_file bs=512

ввёл команду — пару часов повисела командная строка — ни чего не отобразилось. закрыл.

ээ.. прошу прощения, я думал, вы знаете, как работает dd. В том виде, что я написал, она копирует пока вы ее не остановите. Вам надо было нажать Ctrl-C, и тогда она бы вывела вам статистику. Либо послать SIGUSR1, чтобы посмотреть промежуточную статистику. Например, вот так

И не забудьте удалить файл test_file, который dd создает.

Потом.. Видимо, у вашего диска сектора все-таки обычные по 512байт — Hitachi Travelstar 5k160. Тем не менее, проверить скорость записи все равно стоит (только теперь уже выравнивание значения не имеет). Но прежде всего, попробуйте загрузиться с какого-нибудь liveCD и посмотреть будет ли там такая же скорость работы диска (внутреннего и внешнего).

Тестирование двенадцати файловых систем в Linux

реклама

Введение

В прошлый раз мы тестировали производительность файловой системы ReFS в Windows 10. Там мы затронули некоторые ФС из мира Linux, которые показали достаточно вялые результаты, поскольку из-за ограничений Windows чтение и запись были недостаточно хорошо реализованы. На сей раз подобная несправедливость будет устранена, теперь роли меняются, и файловые системы NTFS, FAT32 и exFAT уже сами становятся гостями. Методика тестирования была усовершенствована, теперь все операции выполняются специальным скриптом, с точностью до миллисекунды замеряющим время, затраченное на определенную операцию. Кроме того был изменен набор данных, вместо поочередного копирования групп различных файлов проводится копирование сразу всех файлов разных типов. Также тестирование теперь не ограничивается только жестким диском, здесь были задействованы более актуальные в настоящее время твердотельные и flash накопители. На каждом из них для размещения тестовых данных был создан раздел объемом 4 Гб, вторым устройством для перемещения данных выступал созданный в оперативной памяти раздел объемом 2304 Мб с файловой системой TMPFS. Поскольку flash-память имеет ограниченное количество циклов перезаписи, то в оценке производительности на данном типе носителей участвовали только нежурналируемые файловые системы.

реклама

Тестовая система:

  • Процессор: Xeon E5440 @ 3.4 ГГц
  • GIGABYTE GA-P35-DS3L
  • Оперативная память: 3584 МБ DDR2-800
  • Жесткий диск: Seagate Barracuda 7200.10 3250410AS 250 ГБ
  • Твердотельный накопитель: SanDisk SDSSDHII-120G-G25 120 ГБ
  • MicroSD карта SanDisk Ultra 16 Гб UHS-I, поключенная с помощью адаптера MXT
  • Ubuntu 16.04 x64 с последними обновлениями

реклама

Набор данных:

  • 100 MP3 файлов — 681,3 Мб
  • 880 JPEG изображений 268,8 Мб
  • 4 видеоролика в формате MP4 — 492,7 Мб
  • 1 ISO образ — 583 Мб
  • Суммарный объем:

реклама

Краткая характеристика участников тестирования:

EXT2 — расширенная версия первой файловой системы EXT для ОС на ядре Linux.

EXT3 — журналируемая EXT2.

EXT4 — значительно расширенная по функционалу EXT3.

BTRFS — прогрессивная файловая система, использующая СУБД-подобную структуру , а также предлагающая множество современных опций.

F2FS — файловая система от Samsung, предназначенная для использования на flash-памяти.

ReiserFS — журналируемая ФС от компании Namesys, позволяющая изменять свой размер на лету без размонтирования.

XFS — высокопроизводительная 64-битная журналируемая файловая система, созданная компанией Silicon Graphics.

JFS — 64-битная журналируемая ФС, разработанная IBM с прицелом на высокую производительность, надёжность и масштабируемость для многопроцессорных компьютеров.

HFS+ — файловая система, использующаяся в macOS.

NTFS — ФС для Windows NT, выросшая из HPFS, совместной разработки IBM и Microsoft для OS/2.

FAT32 — усовершенствованная версия файловой системы FAT для DOS и Windows.

exFAT — расширенная версия FAT32, предназначенная для flash-накопителей.

Результаты тестов:

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

Новая файловая система F2FS демонстрирует отличный результат, опережая своих оппонентов. За ней следуют продвинутые журналируемые ФС, в основном использующиеся в NIX системах. Гости из Windows, а также устаревшие EXT2 и EXT3 заметно отстают.

Теперь проделаем тоже самое, но уже с быстрым твердотельным накопителем.

Разрыв между первым и замыкающим участниками заметно вырос. На сей раз в лидерах созданная профессионалами Sun Microsystems система XFS, которая показала результат близкий к максимальной пропускной способности интерфейса SATA-II. BTRFS, все еще считающая в некоторых аспектах не совсем стабильной, находится в нижней части списка. Работающая в пользовательском пространстве с помощью специального драйвера, NTFS показала почти в четверо более низкий результат, чем XFS.

А теперь данные будут переноситься наоборот с дисков в ОЗУ. Так как запись происходит очень быстро, то распределение файловых систем в диаграмме будет зависеть от их производительности при считывании.

Ситуация похожа на ту, которая была продемонстрирована в первом тесте. Но тут FAT32 поднялась сразу на семь позиций, а на ее место переехала BTRFS. Устаревшие EXT2 и EXT3 снова замыкают список.

Теперь очередь за SSD.

Видно, что разница сократилась, поскольку и твердотельный накопитель и оперативная память довольно быстрые устройства, и одно лишь это устраняет различные недостатки, присущие каждой их файловых систем. XFS выдала просто ошеломительный результат, практически уперевшись в пропускную способность SATA-II. Более усложненная BTRFS на второй позиции. Несмотря на прослойку в виде FUSE, NTFS заняла довольно почетное место.

Настала очередь flash-накопителей.

exFAT обошла F2FS в тесте записи примерно на 18%. EXT2, как и в предыдущих испытаниях, плетется в конце.

Ну и, наконец, чтение с flash-памяти.

FAT32 показывает, кто здесь царь. Несмотря на почтенный возраст, она и не собирается сдавать своих позиций. К сожалению максимальный размер файла в FAT32 ограничен четырьмя гигабайтами, что совершенно не подходит для тех же фильмов в высоком качестве. Однако, ее замена в лице exFAT отменяет данный изъян ценой всего лишь десятипроцентной потери производительности.

И ради интереса был проведен еще один тест с участием только RAM-дисков (копирование ISO-образа).

Заключение

Мир Linux открывает перед пользователями Windows множество граней, одной из которых является наличие гораздо большего количества различных файловых систем. Каждая из них имеет свои достоинства и недостатки, кто-то силен в одних ситуациях, кто-то в других. И в проведенном тестировании мы попытались выявить данное распределение сил.

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

Разумеется в подавляющем большинстве случаев нет возможности менять файловую систему одномоментно с изменившимися критериями эксплуатации. Но в этом и не будет особой необходимости, если заранее оценить рабочее окружение и возможные сценарии использования и лишь затем принимать решение о выборе файловой системы.

Тестирование IOPS дисков в Linux

В этой статье рассмотрим способы тестирования производительности IOPS дисков или дискового массива в Linux. IOPS (input/output operations per second) – количество операций ввода-вывода, выполняемые системой хранения данных за одну секунду (это может быть как один диск, RAID массив или LUN на системе хранения). Условно IOPS можно считать количество блоков, которые успевает считаться или записаться на носитель.

Для большинства дисков производители указывают номинальные значения IOPS, но такие значение на практике не гарантируются. Для понимания производительности вашей дисковой подсистемы перед запуском проекта желательно получить значения IOPS.

Установка утилиты fio для тестирования IOPS в Linux

Для замера производительности IOPS дисков в Linux можно использовать утилиту fio (утилита доступна для CentOS в репозитории EPEL). Соотвественно для установки fio в RHEL, CentOS используется пакетный менеджер yum (dnf):

# yum install epel-release -y
# yum install fio -y

Либо apt-get в Debian, Ubuntu :

# apt-get install fio

Затем вам нужно определить диски для тестирования. Тестирование выполняется путев выполнения операций записи/чтения в той директории, в которую примонтирован диск или LUN.

Измерение производительности дисков в IOPS с помощью fio

Выполним несколько видов тестирования производительности IOPS диска в различных сценариях нагрузки на диск (реждим тестирования, который нужон выбрать зависит от логики размещенного приложения и общей архитектуры проекта).

Тест случайных операций на чтение/запись

При запуске такого теста, будет создан файл размером 8 Гб. Затем утилита fio выполнит чтение/запись блока 4КБ (стандартный размер блока) с разделением на 75/25% по количеству операций чтения и записи и замерит производительность. Команда выглядит следующим образом:

# fio —randrepeat=1 —ioengine=libaio —direct=1 —gtod_reduce=1 —name=fiotest —filename=testfio —bs=4k —iodepth=64 —size=8G —readwrite=randrw —rwmixread=75

Первую проверку я запустил на массиве из двух SSD дисков и результаты получились хорошие:

    Чтение:

328MiB/s, 83000 IOPS
Запись:

110MiB/s, 28000 IOPS

Так как мы запустили тест на чтение/запись, показатели по отдельным проверкам, будут чуть выше.

Для сравнения, я замерил скорость на обычном SATA диске:

    Чтение

1.7 MiB/s, 430 IOPS
Запись

0.5 MiB/s, 143 IOPS

Для HDD диска результаты, конечно гораздо хуже, чем для SSD.

Тест случайных операций на чтение

Чтобы замерить производительность дисков только для случайных операций на чтение, нужно выполнить следующую команду:

# fio —randrepeat=1 —ioengine=libaio —direct=1 —gtod_reduce=1 —name=fiotest —filename=testfio —bs=4k —iodepth=64 —size=8G —readwrite=randread

Команда поменялась в самом конце на —readwrite=randread .

Как ранее я уже говорил, скорость по отдельным замерам будет выше:

Если запустить тест только на чтение, разница со смешанным тестом достигает (200-250 MiB/s и 67000 IOPS), что достаточно ощутимо.

Тест случайных операций на запись

Для замера производительности диска для случайных операций записи, выполните команду:

# fio —randrepeat=1 —ioengine=libaio —direct=1 —gtod_reduce=1 —name=fiotest —filename=fiotest —bs=4k —iodepth=64 —size=8G —readwrite=randwrite

Производительность операций записи на хороших SSD дисках тоже очень высокая. Как и в случае с чтением, разница со смешанным тестом достигает 200-250 MiB/s, а в IOPS 56000.

Если опираться на официальную документацию по дискам от производителя (это SSD диски от Intel), можно смело сказать, что в данном случае они не обманули.

Тестирование производительности дисков с помощью файлов.

Утилита fio позволяет проверять диски не только с помощью интерактивного запуска команд, но и запускать заранее подготовленные конфигурационные файлы для тестов. Чтобы воспользоваться данным вариантом, создайте файл:

И добавьте в него содержимое:

Теперь запустите тест:

Данный тест замерит скорость чтения диска. Чтобы выполнить проверку производительности для операций записи, используйте такой конфиг:

Проверка latency диска с помощью ioping

Помимо IOPS есть еще один важный параметр, характеризующий качество вашей дисковой подсистемы – latency. Latency – это время задержки выполнения запроса ввода/вывода и характеризуют время доступа к системе хранения (измеряется в миллисекундах). Чем выше latency, тем больше приходится ждать вашему приложения данных от дисковой подсистемы. Для типовых систем хранения значения latency более 20 мс считаются плохими.

Для проверки latency диска используется утилита ioping:

# yum install ioping -y

# apt-get install ioping

Запустите тест latency для диска (выполняется 20 запросов):

# ioping -c 20 /tmp/

Среднее значение 298.7 us (микросекунд), т.е. средняя latency диска в нашем случае 0.3 ms, что очень хорошо.

Таким образом, вы можете провести нагрузочное тестирование дисковой подсистемы на вашем сервере до запуска проекта и получить максимальную производительность. Конечно такой тест не дает гарантий, что дисковый массив или диск будет постоянно гарантировать такую производительность, но на начальном этапе это тест, который обязательно нужно выполнить. Методика тестирования IOPS в Windows описана в этой статье.

http://unixforum.org/viewtopic.php?t=125746
http://overclockers.ru/blog/puding/show/20351/testirovanie_dvenadcati_fajlovyh_sistem_v_linux
http://winitpro.ru/index.php/2020/04/30/test-iops-diskov-v-linux/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *