Назад | Перейти на главную страницу

Лучший способ тестирования решений виртуализации Linux

Я хотел бы провести несколько тестов на решениях виртуализации Linux (а именно Xen, KVM и OpenVZ), и в настоящее время я думаю о том, как настроить тестовую среду. Мой нынешний подход был бы следующим:

Будет ли этот подход приемлемым, или мне следует полностью отделить 3 системы друг от друга (иметь 3 полностью независимых установки, в каждой из которых установлено только одно решение)?

Дополнительный вопрос: какие-нибудь подсказки, какие тесты мне следует запустить? Я думал о компиляции (например, ядра Linux), ab (Apache Benchmark) и OSDB (Open Source Database Benchmark). Сравнение должно в основном сосредоточиваться на общей производительности, производительности ввода-вывода и времени отклика отдельных виртуальных машин.

Заранее спасибо, Матиас

Я читал о сравнительном анализе, который Anandtech.com проводил в отношении виртуализации:

И прочтите, почему VMware не разрешает проведение тестов в своем лицензионном соглашении. Они приводят несколько действительно хороших примеров плохого тестирования:

http://blogs.vmware.com/virtualreality/2009/03/a-big-step-backwards-for-virtualization-benchmarking.html

Тестирование должно проводиться как можно ближе к тому, как вы запускаете его в производственной среде. Так что устанавливайте каждую систему отдельно и проводите тестирование. Для этого может потребоваться несколько раз приплюснуть тестовую коробку, но это даст наилучшие результаты. Затем сосредоточьтесь на создании ваших тестовых случаев. Некоторые из моих мыслей:

  • Тест нескольких виртуальных машин Запустите несколько виртуальных машин на одном хосте.
  • Конфликт за ресурсы занятой виртуальной машины Попросите одну виртуальную машину запустить что-то очень требовательное к процессору, запустите другие тесты на других виртуальных машинах, чтобы увидеть, как это влияет на них.
    • Сделайте то же самое, но с виртуальной машиной с большим объемом дискового ввода-вывода и посмотрите, как это повлияет на другие виртуальные машины.
  • Многопроцессорная эффективность Если у вас есть для этого оборудование, запустите виртуальные машины с более чем одним виртуальным процессором и оцените эффективность их использования (например, компиляция ядра с несколькими заданиями).

По сути, проведите мозговой штурм крайних случаев и создайте тесты для этих случаев. Что происходит, когда виртуальная машина забирает ресурсы? Насколько хорошо гипервизор справляется с избыточной подпиской на ресурсы? Как блокировка одной виртуальной машины сильно влияет на другие виртуальные машины в системе?

Настоятельно рекомендуем выполнять тесты только с одним гипервизором, настроенным в тестовой среде для каждой итерации ваших тестов. Такая изоляция гипервизоров снизит вероятность нежелательного взаимодействия; особенно для паравиртуализированных виртуальных машин.

Подумайте о разработке дополнительного набора тестов, который определит предел возможностей гипервизора для каждого из ваших ограниченных ресурсов:

  • ЦПУ
  • объем памяти
  • Пропускная способность ввода / вывода

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

Например, когда гипервизор перегружен; вы все еще можете выключить виртуальные машины.