home

Оверхэд от использования KVM в качестве гипервизора по сравнению с baremetal

Один из вопросов при использовании ELiS: какую систему виртуализации выбрать.

Проведен небольшой тест чистой установки ELiS на голое железо (baremetal) и на виртуальную машину под управлением KVM.

Конфигурация[править]

  • 2 CPU Xeon E5-2690v2 (всего 20 ядер 40 потоков) 3-3.6 ГГц.
  • 128 ГБ RAM
  • SSD
  • CentOS8

Методика[править]

Запуск apache benchmark на главную страницу свежеустановленной ELiS.

Генерация новых страниц в PDF-плеере закешированных и нет с проверкой скорости в средствах отладки браузера. Файл PDF являлся оцифрованной книгой.

Результаты[править]

Процент выполненных запросов за время в миллисекундах (меньше - лучше):

ab -n 10000 -c 30 http://elis.example.com/index.php

	baremetal,	kvm

50%:  	248		314
95%:  	274		372
99%:  	297		401
100%: 	3260		3310

Т.о. видно, что KVM даёт оверхэд около 30%.

При генерации страниц для кешированных страниц также наблюдалось замедление от 0 до 30% со временем генерации в районе 40 мс.

Для генерации новых страниц разницы между baremetal и KVM не наблюдалось, а время генерации составляло 1 секунду.

Выводы[править]

В целом результаты согласуются с исследованием IBM, в котором KVM даёт оверхэд на IO около 50%. Но т.к. в операциях загрузки сайта есть не только задачи ввода-вывода, то оверхэд уменьшается.

Задача генерации изображения страницы PDF оказывается заведомо более тяжёлой вычислительно и оверхэд по вводу-выводу при этом незаметен.

При типичном использовании можно ожидать работу медленнее примерно на 30%.

Аналогичным образом можно спрогнозировать замедление, если бы использовалась контейнерная виртуализация docker, при которой можно ожидать замедление на уровне 5-10% за счёт оверхэда на docker NAT.