Решил проверить скорость работы жестких дисков на серваке виртуализации.
Проверяю двумя командами, но боюсь что не правильно делаю, и поэтому результаты не реальные:
Проверка скорости работы дисков сервера на котором запущен гипервизор KVM
Первый вариант проверки, команда - hdparm
- Системный диск на котором установлена хостовая ОС - CentOS 6.5 x64
# hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 6752 MB in 2.00 seconds = 3376.79 MB/sec
Timing buffered disk reads: 154 MB in 3.01 seconds = 51.09 MB/sec
- Программный массив из двух HDD на которых устанавливаются и работают гостевые машины
# hdparm -tT /dev/md0
/dev/md0:
Timing cached reads: 6770 MB in 2.00 seconds = 3385.90 MB/sec
Timing buffered disk reads: 404 MB in 3.01 seconds = 134.24 MB/secТеперь проверяю командой - dd, второй вариант
- Системный диск на котором установлена хостовая ОС - CentOS 6.5 x64
# sync ; time { dd if=/dev/zero of=/mnt/guestimages/testfile.bin bs=4k oflag=direct count=200000 ; sync ; }
200000+0 records in
200000+0 records out
819200000 bytes (819 MB) copied, 23.1779 s, 35.3 MB/s
real 0m23.233s
user 0m0.063s
sys 0m2.119s
- Программный массив из двух HDD на которых устанавливаются и работают гостевые машины
Вторая команда - dd
# touch /mnt/guestimages/testfile.bin
# sync ; time { dd if=/dev/zero of=/mnt/guestimages/testfile.bin bs=4k oflag=direct count=200000 ; sync ; }
200000+0 records in
200000+0 records out
819200000 bytes (819 MB) copied, 25.7426 s, 31.8 MB/s
real 0m25.827s
user 0m0.041s
sys 0m2.000s
В итоге появилась разница между двумя способами измерения скорости работы жестких дисков.
hdparm выдает:
- на системной диске хоста - 51.09 MB/sec
- на программной рейде где виртуалки - 134.24 MB/sec
dd выдает:
- на системной диске хоста - 35.3 MB/s
- на программной рейде где виртуалки - 31.8 MB/s
На гостевой машине CentOS 6.5 x32 аналогичные команды выдают:
hdparm -
# hdparm -tT /dev/vda
/dev/vda:
Timing cached reads: 6480 MB in 2.00 seconds = 3241.27 MB/sec
Timing buffered disk reads: 392 MB in 3.01 seconds = 130.28 MB/secdd -
# touch /testfile.bin
# sync ; time { dd if=/dev/zero of=/testfile.bin bs=4k oflag=direct count=200000 ; sync ; }
200000+0 records in
200000+0 records out
819200000 bytes (819 MB) copied, 51.2942 s, 16.0 MB/s
real 0m51.620s
user 0m0.157s
sys 0m4.672s
Мне вот интересно, правильно ли я проверяю скорость работы жестких дисков, и как можно просто и правильно проверить скорость?
Я просто думаю, не маленькая ли скорость работы моих жестких дисков.
Вот тест из под Win хоста VBOX, на котором установлена CentOS 6.5 x32:
hdparm:
# hdparm -tT /dev/sda
/dev/sda:
Timing cached reads: 3284 MB in 2.00 seconds = 1641.60 MB/sec
Timing buffered disk reads: 386 MB in 3.01 seconds = 128.20 MB/secdd:
# touch /testfile.bin
# sync ; time { dd if=/dev/zero of=/testfile.bin bs=4k oflag=direct count=200000 ; sync ; }
200000+0 records in
200000+0 records out
819200000 bytes (819 MB) copied, 101.135 s, 8.1 MB/s
real 1m41.592s
user 0m0.000s
sys 0m5.819s