Тест швидкості USB та SSD дисків у Linux

23, кві 2017, 08:34

Як швидкий ваш USB? Як швидкий ваш SSD-накопичувач? Це дуже поширене питання. Я зібрав та скомпілював кілька тестів, які допоможуть вам виконати тест швидкості USB та SSD у Linux. Коли я говорю speedtest, я тестую швидкість читання / запису USB та SSD дисків. Це також повідомить вам, чи ваші накопичувачі працюють на максимальній швидкості.

Швидкість передачі залежить не тільки від диска, а й від інтерфейсу, до якого він підключений. Наприклад, порт USB 2.0 має максимальну швидкість роботи 35 Мбайт/с, тому навіть якщо ви підключите високошвидкісний накопичувач USB 3 до порту USB 2, швидкість буде обмежена нижньою межею.

Те саме стосується SSD. 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 відстежує швидкість, з якою відбувається передача, та повідомляє про це.

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

Виконайте наступну команду, щоб дізнатися швидкість читання з буфера:

$ 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 vm.drop_caches = 3 $dd if=tempfile of=/dev/null bs=1M count=1024 1024+0 2>1024+0 records out 1073741824 bytes (1.1 GB) copied, 2.27431 s, 472 MB/s

Виконайте наступну команду, щоб перевірити швидкість запису на жорсткому диску:

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

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

Швидкість запису.

$ dd if=/dev/zero of=./largefile bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1GB) MB/s

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

Швидкість читання.

Тепер прочитайте той самий файл. Однак спочатку очистіть кеш пам'яті, щоб переконатися, що файл дійсно зчитується з диска. Виконайте наступну команду, щоб очистити кеш пам'яті:

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

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

$ dd if =.MB) copied, 3.0114 s, 225 MB/s

У цьому тесті ми будемо вимірювати швидкість читання та запису звичайних USB/PEN-дисків. Диски підключені до стандартних портів USB 2. Перший – це USB-накопичувач Sony 4GB, а другий – Strontium 16-Гбайт.

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

Швидкість читання/запису зовнішнього жорсткого диска

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

$sync; dd if=/dev/zero of=/media/user/MyUSB/tempfile bs=1M count=1024; sync Усі наведені вище команди використовують тимчасовий файл tempfile. Не забудьте видалити його, коли ви завершите тести.

Sony 4GB - Запис

У цьому тесті команда dd використовується для запису 10 000 блоків по 8 Кбайт кожен один файл на диску.

# dd if = / dev / zero of =. MB/s

Таким чином, швидкість запису складає близько 7,5 Мбайт/с. Це найнижча цифра.

Sony 4GB - Читання.

Той самий файл зчитується назад для перевірки швидкості читання. Виконайте наступну команду, щоб очистити кеш пам'яті:

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

Тепер прочитайте файл за допомогою команди dd.

# dd if =.

ШвидкістьЧитання складає близько 25 Мбайт/с, що є більш менш стандартним для дешевих USB-накопичувачів.

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

Вищезгаданий USB-накопичувач був підключений до порту USB 2.0 і досяг швидкості читання 24,7 Мб/с, що не дуже погано. Але швидкість запису значно відстає

Тепер давайте зробимо той же тест із приводом Stronium 16GB. - Stronium ще один дуже дешевий бренд, хоча USB-накопичувачі надійні.

Швидкість запису Stronium 16 ГБ

# dd if = / dev / zero of =. MB/s

Швидкість читання Stronium 16gb

# sudo sh -c "sync &&ech echo 3 &ct /proc/sys/vm/drop_caches" # dd if=. in 8000+0 records out 65536000 bytes (66 MB) copied, 2.90366 s, 22.6 MB/s

Швидкість читання нижче, ніж у накопичувача Sony.

Hdparm – це утиліта Linux, яка дозволяє швидко дізнатися швидкість читання жорсткого диска. Встановіть hdparm залежно від Linux-дистрибутиву. У Linux Mint, Ubuntu, Debian:

$ sudo apt-get install hdparm

Запустіть hdparm так, щоб виміряти швидкість читання жорсткого диска /dev/sda:

$ sudo hdparm -Tt /dev/sda /dev/sda: Тім. = 461.50 MB/sec