Тест швидкості 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