Сервер в кармане, или просто о сложном!

главная - Статьи - 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


Авторизуйтесь для добавления комментариев!


    забыли пароль?    новый пользователь?