Сравнение производительности локальных хранилищ

Материал из ISPWiki
Перейти к: навигация, поиск

Иерархия: VMmanager KVM -> Настройка кластера
VMmanager Cloud -> Настройка кластера

VMmanager поддерживает несколько типов локальных хранилищ: LVM (с форматом виртуальных дисков - RAW), DIR (с форматами RAW и Qcow2).

Для сравнения их производительности проводилось специальное тестирование.

Методика тестирования

  • Тестирование производилось утилитой fio;
  • Измерялось количество iops;
  • Проводилось отдельное тестирование чтения и записи.
  • Параметры тестирования:
    • Чтение:

 [readtest]
 blocksize=128k
 filename=/dev/vdb
 rw=randread
 direct=1
 buffered=0
 ioengine=libaio
 iodepth=16

  • Запись:

 [writetest]
 blocksize=128k
 size=100%
 filename=/dev/vdb
 rw=randwrite
 direct=1
 buffered=0
 ioengine=libaio
 iodepth=16

Осуществлялось 3 запуска каждого теста. Перед каждым запуском диск забивался нулями через утилиту dd и сбрасывался дисковый кэш операционной системы ( echo 3 > /proc/sys/vm/drop_caches ).

В качестве результирующего бралось среднее из полученных значений (не среднеарифметическое от 3-х, а именно среднее), так как при некоторых запусках значение отличалось на порядок.

Запуск тестов проводился на сервере со следующей конфигурацией:

  • Процессор: Intel Core2Quad CPU Q6600;
  • Объём оперативной памяти: 8Гб;
  • Дисковая система: RAID 10-го уровня, построенный на контроллере adaptec с 4-мя SAS дисками объёмом 150 Гб;
  • ОС: CentOS-6.

Утилита fio устанавливалась из репозитория EPEL. Создавался виртуальный диск размером 50000 Мб. Все диски к виртуальным машинами подключались с использованием драйвера virtio.

Для тестирования узла кластера при первом способе использовался sda4 (на котором позже и создавался как LVM, так и диски для виртуальных машин) с добавлением в настройке fio опции size=50G

Для тестирования узла кластера при втором способе создавалась LVM группа томов, и в этой группе LVM раздел размером 500000 Мб, как для виртуальной машины.

При тестировании хранилища DIR c форматами RAW и QCoW2 сами образы дисков располагались в виде файлов в файловой системе ext4 в директории /vm.

Результаты

Тип хранилища Результат теста на чтение, IOPS Результат теста на запись, IOPS
Чтение/запись на физическом сервере 843 331
LVM-раздел на физическом сервере 848 559
Виртуальная машина на DIR (RAW) 668 545
Виртуальная машина на DIR (QCoW2) 621 463
Виртуальная машина на DIR (QCoW2) + snapshot [1] 615 56
Виртуальная машина на LVM 854 557

Выводы

Наиболее быстрое взаимодействие обеспечивается при использовании LVM-хранилища. При этом RAW-хранилище является наиболее простым для каких-либо нештатных операций с ним. Плюсом QCoW2 является поддержка снапшотов. Однако создание снапшотов очень сильно замедляет запись на время, пока все блоки относительно снапшота не перезапишутся.

Примечания

  1. Для данного тестирования делался один проход и забивание диска нулями не проводилось. Так как интересовала производительность как раз сразу после создания снапшота