xen против kvm по производительности

<p>что быстрее на том же оборудовании, xen или kvm?</p><p>я пытаюсь использовать технологию виртуализации, которая дает наилучшую производительность.</p><p>здесь я нашел несколько тестов по этому вопросу: <a href="http://virt.kernelnewbies.org/xenvskvm">http://virt.kernelnewbies.org/xenvskvm</a> </p><p>они показывают kvm как победителя, со значительной разницей в производительности - что противоречит идее, что kvm - это гипервизор типа 2, и по определению он должен быть медленнее, чем гипервизоры типа 1 (например, xen) - или, по крайней мере, так, как говорится в статьях в интернете.</p><p>есть идеи на эту тему?</p>

<p>этот тест сравнивает только скорость родной ос с одной гостевой ос. вряд ли это испытание в реальном мире. я не думаю, что я бы придавал этому большое значение. большинство из лагеря kvm) утверждают, что xen требует слишком много прерываний и переходов между ядром и пространством пользователя, но из большинства реальных тестов, которые я видел, на самом деле не было понял, и xen, кажется, немного быстрее, чем kvm.</p><p>извините, у меня нет ссылки, которая бы пригодилась. но я скажу, что kvm быстро улучшается и, похоже, быстро догоняет набор функций и стабильность.</p><p>что касается того, какой подход лучше. лагерь xen будет утверждать, что для безопасной и быстрой виртуализации требуется настоящий легкий гипервизор. xen также начинает поддерживаться в прошивках некоторыми поставщиками, что тоже приятно. в лагере kvm) утверждают, что kvm проще и что linux способен быть хорошим гипервизором.</p><p>в конце концов, все еще неясно, какое направление в конечном итоге победит. xen, безусловно, имеет преимущество и уже имеет долю на рынке в ницце. но его пока нет в основном ядре. надеюсь, это скоро изменится, и в последние несколько месяцев об этом много говорилось в списке ядра. red hat сейчас находится в лагере kvm) и будет выдвигать ее в качестве платформы для виртуализации. скоро выйдет red hat linux 5.4, которая скоро появится в продаже. привлекать магазины, которые еще не внедрили или не внедрили платформу виртуализации.</p><p>что касается инструментов, то и xen, и kvm используют libvirt и qemu и связанные с ними инструменты. таким образом, они используют много одинаковых инструментов, таких как virt-manager.</p><p>мы используем xen на работе, и он хорошо работает для нас. но я изучал kvm из-за некоторых проблем с переадресацией через usb и pci, которые мне не удалось решить с помощью xen. я не уверен kvm = немного лучше в этом, но я думаю, я узнаю, как только попробую. одна вещь, которую я заметил при исследовании моих проблем с usb, заключается в том, что документация kvm более оценена и организована по сравнению с xen. но не существует идеальной платформы виртуализации поэтому вам нужно выяснить, что имеет для вас смысл.</p>

<p>лично я бы выбрал виртуализацию, основываясь на удобстве использования, поддержке, надежности и пригодности для виртуальных машин, которые вы используете.</p><p>скорость передачи данных в сети xen кажется такой же хорошей, как и у реального оборудования, но у меня также было несколько сражений с xen и vlans и несколькими картами ethernet. у меня нет опыта работы с kvm, но я бы также посоветовал вам рассмотреть vmware esx (i).</p>

<p>вы найдете очень интересную информацию по этому вопросу в следующей презентации: <em> <a href="http://www.xen.org/files/xensummitboston08/deshane-xensummit08-slides.pdf">количественное сравнение xen и kvm</a> </em></p><p>человек, который сделал это, является экспертом по xen, но сравнение кажется довольно справедливым.</p>

<p>fwiw: ответ полностью зависит от ваших потребностей, сейчас и в будущем.</p><p>да, я знаю, что это бесполезный ответ. к сожалению, это правда. ваш выбор виртуализации будет влиять практически на все, что вы делаете потом, поэтому вам нужно задать себе несколько вопросов.</p><p>(1) действительно ли разница между 97% исходной производительности и 96% исходной производительности (цифры, взятые из воздуха) действительно так важна для вас?</p><p>(1a) если один лучше справляется с hd-доступом (что на самом деле подразумевает, что вы либо используете потрясающую базу данных, либо не можете себе позволить дополнительную оперативную память), а другой лучше работает с сетью, что для вас важнее ?</p><p>(2) вы уверены, что используете инструменты, поставляемые с любым решением?</p><p>(3) имеет ли значение тот факт, что одно является (своего рода) родным для последних ядер linux, а другое нет?</p><p>(3a) вам сейчас или когда-либо ... э-э ... вам когда-нибудь понадобилось запускать другую ос под виртуализацией? это не должно быть windows. это может быть freebsd, или даже haiku, или что-то еще. (xen, вероятно, выигрывает здесь, но я предлагаю вам проверить.)</p><p>глядя на общую картину, я вижу kvm как ответ linux на зоны solaris. (я бы предпочел иметь зоны solaris, но я вижу параллель.) я вижу xen как зрелую технологию гипервизора с поддержкой нескольких ос, но если вам не нужно несколько ос, это не имеет большого значения.</p><p>чтобы быть абсолютно честным, вы не ошибетесь в любом случае (учитывая предостережения выше). я предпочитаю xen, потому что я уехал в кембридж; но тогда, если бы я работал на rh, я бы предпочел kvm.</p>

<p>я мог бы пойти на это, но я не думаю, что сырая производительность является наиболее важным показателем, когда речь идет о таких технологиях.</p><p>я думаю, что юзабилити и интерфейс важны, а также инструменты для поддержки надежной инфраструктуры. мне кажется, что xen имеет гораздо более надежный набор существующих приложений, которые его поддерживают, чем kvm. это может быть не так, поскольку у меня нет доказательств, подтверждающих это.</p><p>что бы вы ни выбрали, решите, какое решение лучше для вас, и посмотрите на весь пакет, а не только на производительность.</p>

<p>большая сложность или легкость настройки kvm зависит от распределения. выбор xen-ориентированного распределения облегчит xen. выбор kvm-ориентированного распределения сделает kvm проще.</p><p>вопрос об инструментах несколько не имеет значения, потому что оба используют libvirt. это означает, что в большинстве случаев вы используете одни и те же инструменты управления для обоих.</p>

<p>в конце 2017 года amazon, который раньше был крупнейшим пользователем xen, объявил, что будет использовать <a href="https://www.theregister.co.uk/2017/11/07/aws\_writes\_new\_kvm\_based\_hypervisor\_to\_make\_its\_cloud\_go\_faster">kvm для всех своих новых типов экземпляров c5</a> . насколько я знаю, только облачный провайдер softlayer остается большим пользователем xen. линод переключился в 2015 году и <a href="https://blog.linode.com/2015/06/16/linode-turns-12-heres-some-kvm/">сообщил о значительном улучшении производительности</a> .</p><p>трудно найти реалистичное и современное сравнение производительности, но, похоже, нет такого огромного разрыва между обоими решениями, как вы могли бы подумать. в зависимости от варианта использования xen может быть еще быстрее. kvm имеет и другие преимущества, будучи частью ядра linux и принятую redhat, которые также актуальны. например, <a href="https://stackoverflow.com/a/23699164/783510">этот ответ</a> подробно объясняет, почему google выбрал kvm для google compute engine.</p><p>тем не менее тот факт, что почти все облачные провайдеры, особенно google и amazon, выбирают kvm вместо xen, является веским аргументом в пользу того, что для типичных рабочих нагрузок kvm является очень хороший выбор с точки зрения производительности.</p>