Xen против KVM по производительности

Xen против KVM по производительности

Что быстрее на одном и том же оборудовании: Xen или KVM?

Я пытаюсь подобрать для работы технологию виртуализации, которая даст наилучшую производительность.

Вот некоторые контрольные показатели, которые я нашел по этой теме: http://virt.kernelnewbies.org/XenVsKVM

Они показывают KVM как победителя, демонстрирующего значительную разницу в производительности, что противоречит идее о том, что KVM является гипервизором типа 2 и по определению должен быть медленнее гипервизоров типа 1 (вроде Xen) — или, по крайней мере, так говорится в статьях в Интернете.

Есть идеи по этому поводу?

решение1

Этот бенчмарк сравнивает только скорость собственной ОС с одной гостевой ОС. Это едва ли реальный тест. Я не думаю, что я бы придал ему большое значение. Большинство сторонников KVM утверждают, что Xen требует слишком много прерываний и переходов между ядром и пользовательским пространством, но из большинства реальных бенчмарков, которые я видел, это на самом деле не было реализовано, и Xen, кажется, немного быстрее KVM.

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

Что касается того, какой подход лучше. Лагерь Xen будет утверждать, что для виртуализации требуется действительно легкий гипервизор, чтобы быть безопасным и быстрым. Xen также начинает поддерживаться в прошивках некоторыми поставщиками, что тоже неплохо. Лагерь KVM будет утверждать, что KVM проще и что Linux способен быть хорошим гипервизором.

В конце концов, пока неясно, какое направление в конечном итоге победит. Xen, безусловно, имеет преимущество и уже имеет хорошую долю рынка. Но его пока нет в основном ядре. Надеюсь, это скоро изменится, и в последние несколько месяцев об этом много говорили в списке ядер. Red Hat теперь в лагере KVM и будет продвигать его как платформу виртуализации по выбору. Red Hat Linux 5.4, который выйдет в ближайшее время, будет первым, кто включит его. Так что это, вероятно, привлечет магазины, которые еще не развернули или не взяли на себя обязательство использовать платформу виртуализации.

Что касается инструментов, то и Xen, и KVM используют libvirt и QEMU, а также связанные с ними инструменты. Поэтому они используют много общих инструментов, таких как virt-manager.

Мы используем Xen на работе, и он нам хорошо подходит. Но я рассматривал KVM из-за некоторых проблем с USB-переадресацией и PCI-пересылкой, которые я не смог решить с помощью Xen. Я не уверен, что KVM в этом плане лучше, но, думаю, я узнаю, как только попробую. Одна вещь, которую я заметил, исследуя свои проблемы с USB, заключается в том, что документация KVM более доступна и организована по сравнению с Xen. Но идеальной платформы виртуализации не существует, поэтому вам нужно будет выяснить, что имеет смысл для вас.

решение2

Лично я бы выбрал виртуализацию, исходя из удобства использования, поддержки, надежности и пригодности для используемых вами виртуальных машин.

Скорость передачи данных в сети Xen, похоже, такая же, как и у настоящего оборудования, но у меня также были некоторые битвы с Xen и vLans и несколькими картами Ethernet. У меня нет опыта работы с KVM, но я бы также посоветовал вам рассмотреть VMware ESX(i).

решение3

Очень интересную информацию по этой теме вы найдете в следующей презентации:Количественное сравнение Xen и KVM

Человек, который это сделал, является экспертом по Xen, но сравнение кажется вполне справедливым.

решение4

FWIW: Ответ полностью зависит от ваших потребностей, как сейчас, так и в будущем.

Да, я знаю, что это бесполезный ответ. К сожалению, это правда. Ваш выбор виртуализации повлияет практически на все, что вы будете делать впоследствии, поэтому вам нужно задать себе несколько вопросов.

(1) Действительно ли разница между 97% нативной производительности и 96% нативной производительности (цифры взяты с потолка) так важна для вас?

(1a) Если один из них лучше справляется с доступом к жесткому диску (что на самом деле подразумевает, что вы либо используете потрясающую базу данных, либо не можете позволить себе дополнительную оперативную память), а другой лучше справляется с сетевыми возможностями, что для вас важнее?

(2) Уверенно ли вы используете инструменты, предоставляемые в каждом из решений?

(3) Имеет ли значение тот факт, что один из них (в некотором роде) является родным для последних ядер Linux, а другой — нет?

(3a) Вы сейчас или когда-либо были... эээ... вам когда-нибудь понадобится запустить другую ОС под виртуализацией? Это не обязательно должен быть Windows. Это может быть FreeBSD, или даже Haiku, или что-то еще. (Xen, вероятно, здесь победит, но я предлагаю вам проверить.)

Глядя на общую картину, я вижу KVM как ответ Linux на зоны Solaris. (Я бы предпочел зоны Solaris, но я вижу параллель.) Я вижу Xen как зрелую технологию гипервизора с поддержкой нескольких ОС, но если вам не нужно несколько ОС, это не так уж и важно.

Честно говоря, вы не ошибетесь ни в одном из вариантов (учитывая вышеизложенные оговорки). Я предпочитаю Xen, потому что я учился в Кембридже; но если бы я работал в RH, я бы, наверное, предпочел KVM.

Связанный контент