Сегодня рассмотрим примеры по тестированию скорости записи/чтения дисков на ОС Linux. Это также даст вам понять работают ли ваши накопители на максимальной скорости.

Скорость привода измеряется с точки зрения того, сколько данных он может читать или записывать за единицу времени. Команда dd – это простой инструмент командной строки, который может использоваться для чтения и записи произвольных блоков данных на диск и измерения скорости передачи данных. В этом посте мы будем использовать команду dd для проверки скорости чтения SSD и USB-накопителей .

Скорость передачи данных зависит не только от диска, но и от интерфейса, к которому он подключен. Например, порт USB 2.0 имеет максимальную скорость работы 35 Мбайт / с, поэтому, даже если вы подключите высокоскоростной накопитель USB 3.0 к порту USB 2.0, скорость будет ограничена нижним пределом.

То же самое касается HDD и SSD подключенных через порты SATA, которые имеют разные версии. Sata 2.0 имеет максимальный теоретический предел скорости 3Gbits / s, который составляет примерно 375 Мбайт / с. В то время как Sata 3.0 поддерживает вдвое большую скорость.

Метод испытания

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

Общий синтаксис команды dd выглядит следующим образом:

dd if=path/to/input_file of=/path/to/output_file    
bs=block_size count=number_of_blocks

При записи на диск мы просто читаем /dev/zero, который является источником бесконечных бесполезных байтов. И когда читаем с диска, мы читаем файл, написанный ранее, и отправляем его в /dev/null, который нигде не существует. Во всем процессе dd отслеживает скорость, с которой происходит передача, и сообщает об этом.

Тест скорости ЗАПИСИ Диска

Выполните следующую команду для определения скорости ЗАПИСИ на накопитель. Для того, чтобы измерить скорость записи на диск, можно воспользоваться стандартной утилитой linux – dd. С ее помощью мы создадим на диске файл размером 1Gb частями по 1Mb. Переходи на ваш диск и в терминале набираем:

sync; dd if=/dev/zero of=tempfile bs=1M count=1024; sync

Тест скорости ЧТЕНИЯ Диска

Файл tempfile, который только что был создан предыдущей командой, был кэширован в буфере, и его скорость чтения намного выше реальной скорости чтения непосредственно с жесткого диска. Чтобы получить реальную скорость, нам нужно очистить кэш.

Выполните следующую команду, чтобы узнать скорость чтения из буфера:

sudo dd if=tempfile of=/dev/null bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 0.159273 s, 6.7 GB/s

Очистите кэш Linux и измерите реальную скорость чтения напрямую с жесткого диска:

sudo /sbin/sysctl -w vm.drop_caches=3 && \
sudo dd if=tempfile of=/dev/null bs=1M count=1024
 1024+0 records in
 1024+0 records out
 1073741824 bytes (1.1 GB) copied, 2.27431 s, 472 MB/s>

Тест скорости записи HDD

Скорость записи

Выполните следующую команду для проверки скорости записи на жестком диске:

sudo dd if=/dev/zero of=hddfile bs=1M count=1024
 1024+0 records in
 1024+0 records out
 1073741824 bytes (1.1 GB) copied, 3.28696 s, 327 MB/s

Скорость чтения.

Теперь прочитайте тот же файл. Однако сначала очистите кэш памяти, чтобы убедиться, что файл действительно считывается с диска.

Выполните следующую команду, чтобы очистить кэш памяти:

sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

Теперь прочитайте файл:

sudo dd if=./hddfile of=/dev/null bs=4k
 165118+0 records in
 165118+0 records out
 676323328 bytes (676 MB) copied, 3.0114 s, 225 MB/s

Тест скорости записи SSD

Теперь давайте начнем с инструкций для проверки скорости чтения SSD. Наш SSD подключается к порту SATA 2.0 для этого теста.

Скорость записи.

sudo dd if=/dev/zero of=./ssdfile bs=1M count=1024
 1024+0 records in
 1024+0 records out
 1073741824 bytes (1.1 GB) copied, 4.82364 s, 223 MB/s    

Размер блока на самом деле довольно большой. Вы можете попробовать с меньшими размерами, такими как 64k или даже 4k.

Вот пример записи с хостинга с моим сайтом:

Скорость чтения.

Теперь прочитайте тот же файл. Однако сначала очистите кэш памяти, чтобы убедиться, что файл действительно считывается с диска.

Выполните следующую команду, чтобы очистить кэш памяти:

sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

Теперь прочитайте файл:

sudo dd if=./ssdfile of=/dev/null bs=4k
 165118+0 records in
 165118+0 records out
 676323328 bytes (676 MB) copied, 3.0114 s, 225 MB/s

А вот чтение с хостинга:

USB

В этом тесте мы будем измерять скорость чтения и записи обычных USB / PEN-дисков. Диски подключены к стандартным портам USB 2. Первый – это USB-накопитель Sony 8GB, а второй – Strontium 32-Гбайт.

Сначала подключите диск к порту и установите его, чтобы он читался. Затем перейдите в каталог монтирования из командной строки.

Скорость чтения / записи внешнего жесткого диска

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

Или вы можете заменить временный файл на путь к точке монтирования, например:

sudo dd if=/dev/zero of=/media/user/MyUSB/usbfile bs=1M count=1024

Sony 8GB – Запись

sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

В этом тесте команда dd используется для записи 10 000 блоков по 8 Кбайт каждый в один файл на диске.

sudo dd if=/dev/zero of=./usbfile bs=8k count=10000
 10000+0 records in
 10000+0 records out
 81920000 bytes (82 MB) copied, 11.0626 s, 7.4 MB/s

Таким образом, скорость записи составляет около 7,5 Мбайт / с. Это низкая цифра.

Sony 8GB – Чтение.

Тот же файл считывается обратно для проверки скорости чтения. Выполните следующую команду, чтобы очистить кэш памяти:

sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"

Теперь прочитайте файл, используя команду dd.

sudo dd if=./usbfile of=/dev/null bs=8k
 8000+0 records in
 8000+0 records out
 65536000 bytes (66 MB) copied, 2.65218 s, 24.7 MB/s

 Скорость чтения составляет около 25 Мбайт / с, что является более или менее стандартным для дешевых USB-накопителей.

Максимальная скорость передачи USB 2.0 составляет 480 Мбит / с или 60 Мбайт / с. Однако из-за различных ограничений максимальная пропускная способность ограничена примерно 280 Мбит / с или 35 Мбайт / с. Помимо этого, фактическая скорость зависит от качества Pen приводов и других факторов.

Вышеупомянутый USB-накопитель был подключен к порту USB 2.0 и достиг скорости чтения 24,7 Мб / с, что не очень плохо. Но скорость записи значительно отстает

Теперь давайте сделаем тот же тест с приводом Stronium 16GB. – Stronium еще один очень дешевый бренд, хотя USB-накопители надежны.

Скорость записи Stronium 32 ГБ

dd if=/dev/zero of=./largefile bs=64k count=1000
1000+0 records in
1000+0 records out
65536000 bytes (66 MB) copied, 8.3834 s, 7.8 MB/s

Скорость чтения Stronium 16gb

sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches
sudo dd if=./largefile of=/dev/null bs=8k
8000+0 records in
8000+0 records out
65536000 bytes (66 MB) copied, 2.90366 s, 22.6 MB/s

Скорость чтения ниже, чем у накопителя Sony.

Проверка производительности жесткого диска с помощью hdparm.

Hdparm – это утилита Linux, которая позволяет быстро узнать скорость чтения жесткого диска. Установите hdparm в зависимости от дистрибутива Linux.
В Linux Mint, Ubuntu, Debian:

sudo apt install hdparm

Запустите hdparm следующим образом, чтобы измерить скорость чтения жесткого диска /dev/sda:

sudo hdparm -Tt /dev/sda
 /dev/sda:
  Timing cached reads: 16924 MB in 2.00 seconds = 8469.95 MB/sec
  Timing buffered disk reads: 1386 MB in 3.00 seconds = 461.50 MB/sec

Когда мой компьютер работал под управлением Windows, то для интерфейса USB3.0 требовалось установить драйвер от производителя материнской платы. Операционная система не могла найти его самостоятельно. С переходом на Linux такой проблемы не стало. Все имеющиеся порты USB при установке системы начинают работать сразу. Но полноценно ли? В этой статье несколько простых способов, позволяющих проверить версию интерфейса и режим работы подключенных к нему устройств.

Просмотр информации по всем USB контроллерам компьютера:

lspci | grep -i usb

Материнская плата ASRock H67M-GE не новая. На ней преобладают порты USB2.0, поддержка которых сразу заложена в чипсете. Дополнительно присутствует контроллер USB3.0 от Etron Technology. В выдаче это всё видно, значит все контроллеры настроены правильно:

lspci | grep -i usb
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
04:00.0 USB controller: Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01)

Для ноутбука Acer TMX349-M-535L выдача оказалось проще. Контроллер USB лишь один и по версии вопросов тоже не остаётся:

lspci | grep -i usb
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)

Если так окажется, что в выдаче не будет чётко указана версия USB-контроллера, то можно проискать в интернете информацию по выданному наименованию контроллера.

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

dmesg | grep -i usb

В выдаче high-speed USB и SuperSpeed USB — это устройства USB2.0 и USB3.0, соответственно. Пример для ASRock H67M-GE

Бывает, что USB-порты работают. И даже их версия такая, какая должна быть. Но скорость обмена данными оставляет желать лучшего.

Поставить точку в вопросе скорости поможет тестирование каким-нибудь USB-носителем. Берём флешку или диск. Обязательно USB3.0, если хотим проверить соответствующий порт. Подключаем к нужному порту и запускаем скоростной тест.

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

Если вы не знаете скоростные характеристики своих USB-носителей, то можно просто сравнить, дополнительно подключив их к заведомо низкоскоростным портам. Или через USB-хаб версии 2.0, который тоже замедлит работу.

Мне нравится для подобных тестов использовать Дисковую утилиту Gnome. В Elementary OS эту программу можно найти в AppCenter, просто, как «Диски GNOME».

Примеры тестов одного и того же USB-диска через USB2.0 и USB3.0. Они выполнены как раз через эту программу. И разница скоростей очевидна.


Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

5 3 голоса
Рейтинг статьи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять