главная - Статьи - Linux, FreeBSD
Простое измерение скорости записи диска в Linux
Дата обновления: 18.09.2023Теги: Передача данных Linux
Если целью проверки скорости записи не является многофакторное исследование на больших, маленьких файлах, очень маленьких или на очень большом кол-ве файлов, то "на глазок" проверить скорость записи диска в Linux можно так:
dd if=/dev/zero of=tempfile bs=1M count=1024
и получить достаточно абстрактный результат, например, что скорость записи равна 1.3 GB/s.
Это число я получил на виртуальной машине, на которой диск подключен по iSCSI к сетевому хранилищу из 4 SATA3 не-SSD дисков! Бред. Почему такой "шикарный" результат? Потому что я получил скорость записи маленького потока данных в кеш.
Увеличу нагрузку теста:
dd if=/dev/zero of=tempfile bs=4M count=1024
Результат: 1.0 GB/s. Ну тоже так себе результат.
Но уже 8 Мб файлах тест дал правильную картину:
dd if=/dev/zero of=tempfile bs=8M count=1024
Результат: 155 MB/s
На файлах 12 Мб результат близкий: 144 MB/s
Полученные данные не показывают производительности диска на операциях чтения/записи большого количества маленьких файлов и т.п. Но все же "на глазок в попугаях" можно и так.
В моем слечае при работе по гигабитной сети я получил максимальный результат, лучше уже могло бы быть. Свою задау тест выполнил - проблем с iSCSI в качестве диска виртуальной машины нет.
Привожу листинг экспериментов (сначала прикинул линейную скорость чтения командой hdparm, а потом стал смотреть скорость записи):
# hdparm -t /dev/vda1 /dev/vda1: Timing buffered disk reads: 436 MB in 3.02 seconds = 144.52 MB/sec # dd if=/dev/zero of=tempfile bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.833263 s, 1.3 GB/s # dd if=/dev/zero of=tempfile bs=4M count=1024 1024+0 records in 1024+0 records out 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 4.23941 s, 1.0 GB/s # dd if=/dev/zero of=tempfile bs=8M count=1024 1024+0 records in 1024+0 records out 8589934592 bytes (8.6 GB, 8.0 GiB) copied, 55.4829 s, 155 MB/s # dd if=/dev/zero of=tempfile bs=9M count=1024 1024+0 records in 1024+0 records out 9663676416 bytes (9.7 GB, 9.0 GiB) copied, 62.8782 s, 154 MB/s # dd if=/dev/zero of=tempfile bs=12M count=1024 1024+0 records in 1024+0 records out 12884901888 bytes (13 GB, 12 GiB) copied, 89.7252 s, 144 MB/s
Авторизуйтесь для добавления комментариев!