KVM производителност срещу.

В Cloud4Y смятаме, че продуктите на VmWare са водещото решение за виртуализация. Ние обаче се интересуваме и от други решения, включително Xen и KVM. И ето какво забелязахме: няма много информация, която да ви позволява да сравните тези хипервайзори: последното добро изследване, което намерихме в мрежата, датира от 2012 г. и, разбира се, вече не може да се счита за релевантно. Днес ще представим на вашето внимание също не най-новото, но според нас доста полезно проучване за производителността на KVM и Xen хипервайзори.

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

Хипервайзор KVM

Нека гурутата на виртуализацията ни простят, но първо ще напомним на читателите какво е хипервизор и за какво служи. За да изпълнявате задачи с различно значение (разработване на софтуер, хостинг и т.н.), най-лесно е да използвате виртуални машини: те ще ви позволят да имате няколко различни операционни системи с подходяща софтуерна среда. За по-лесна работа с виртуални машини се използват хипервайзори - софтуерни инструменти, които ви позволяват бързо да внедрявате, спирате и стартирате виртуални машини. KVM е един от най-широко използваните хипервайзори.

KVM е софтуер, който ви позволява да организирате виртуализация на базата на персонални компютри, работещи под Linux и подобни операционни системи. Отскоро KVM се счита за компонент на ядрото на Linux и се развива успоредно с него. Този хипервизор може да се използва само на системи, където виртуализацията се поддържа от хардуер - използвайки процесори Intel и AMD.

По време на работа KVM има достъп до ядрото директно чрез специфичен за процесора модул (kvm-intel или kvm-amd). В допълнение, комплексът включва основното ядро ​​- kvm.ko и UI елементи, включително широко разпространения QEMU. KVM го прави възможноработи директно с VM файлове и дискови изображения. Всяка виртуална машина разполага със собствено изолирано пространство.

Хипервизор Xen

Първоначално студенти в Кеймбридж стартираха проект, който в крайна сметка се превърна в комерсиална версия на Xen. Първото издание е от 2003 г., а през 2007 г. Citrix закупи изходния код. Xen е кросплатформен хипервайзор с голяма функционалност и огромни възможности, което го прави подходящ за корпоративна употреба. Xen поддържа паравиртуализация, специален режим на ядрото на операционната система, когато ядрото е конфигурирано да работи едновременно с хипервайзора.

Към кода на Xen е добавен само необходимият набор от функции: управление на виртуалната памет и тактовата честота на процесора, работа с DMA, таймер в реално време и прекъсвания. Останалата част от функционалността се премества в домейни, тоест във виртуални машини, работещи по това време. Така Xen е най-лекият хипервизор.

Същността на изследването

Тестване на базата на два сървъра SuperMicro, всеки с 3,10 Hz четириядрен процесор Intel Xeon E3-1220, 24 GB Kingston DDR3 RAM и четири драйвера Western Digital RE-3 160 GB (RAID 10). Версиите на BIOS са идентични. За хостинг и виртуални машини взехме Fedora 20 (със SELinux). Ето версиите на софтуера, които сме взели:

  • Ядро: 3.14.8
  • За KVM: qemu-kvm 1.6.2
  • За Xen: xen 4.3.2

Всички основни файлови системи са XFS с конфигурация по подразбиране. Виртуалните машини се създават с virt-Manager, като се използват настройките по подразбиране, приложими за KVM и Xen. Виртуалните дискове използваха необработени изображения и бяха разпределени 8 GB RAM с 4 vCPU (виртуални процесори). Операционните системи, работещи на Xen, използваха PVHVM.

Някой отможе да започнете да се възмущавате - казват, че собственикът на Fedora 20, Red Hat, харчи значително количество усилия за поддръжка на KVM. За пояснение: Red Hat не е постигнал голям напредък в Xen от години.

Освен това конкуренцията между хипервайзорите е строго контролирана и сведена до минимум. На повечето виртуални сървъри ще имате множество виртуални машини, конкуриращи се за процесорно време, I/O устройства и достъп до мрежата. Нашето тестване не взема това предвид. Един хипервайзор може да се представи зле, когато конкуренцията е ниска, и след това да се представи много по-добре от конкурентите, когато конкуренцията за ресурси е по-висока.

Проучването е проведено върху процесори на Intel, така че резултатите може да се различават за AMD и ARM.

резултати

Тестовете за виртуални машини, инсталирани директно на хардуер, тоест без операционна система (наричани по-нататък хардуер), послужиха като основа за тестване на виртуални машини. Разликата в производителността между два невиртуализирани сървъра беше 0,51% или по-малко.

Производителността на KVM падна в рамките на 1,5% в сравнение с хардуера в почти всички тестове. Само два теста показаха различен резултат: единият от тях е 7-Zip тестът, където KVM беше с 2,79% по-бавен от хардуера. Странно, KVM беше с 4,11% по-бърз в теста PostMark (който симулира силно натоварен пощенски сървър). Производителността на Xen се различава повече от производителността на хардуера, отколкото в ситуацията с KVM. В три теста Xen се различаваше с 2,5% от скоростта на хардуера, в останалите тестове беше още по-бавен.

В теста PostMark Xen беше с 14,41% по-бавен от хардуера. При рестартиране резултатите от теста се различават от първоначалните с 2%. Най-добрият тест за KVM,MAFFT се оказа вторият най-лош за Xen.

Ето обобщение на тестовете:

Най-добра цена Bare Metal KVM XenВремево MAFFT подравняване по-ниско 7,78 7,795 8,42Smallpt долен 160 162 167.5POV Ray долен 230.02 232.44 235.89Пощенска марка по-висока 3667 3824 3205OpenSSL по-висок 397.68 393.95 388.25John the Ripper (MD5) по-висока 49548 48899.5 46653.5John the Ripper (DES) по-високо 7374833.5 7271833.5 6911167John the Ripper (Blowfish) по-високо 3026 2991.5 2856CLOMP по-висока 3.3 3.285 3.125C-Ray долна 35.35 35.66 36.137-цип по-високо 12467.5 12129.5 11879

Ако искате да видите резултатите пълни, последвайте връзката.

Вместо заключение

При нашите тестове KVM беше почти винаги с 2% по-бавен от хардуера. Xen беше с 2,5% по-бавен само в три от десет теста и беше с 5-7% по-висок в останалите. Въпреки че KVM се представи добре в теста PostMark, трябва да се отбележи, че проведохме само един I/O тест и си струва да направим още няколко, за да получим по-надеждна картина.

[UPD]Както правилно отбеляза mister_fog, през 2007 г. Citrix купи не изходния код на Xen, а XenSource, който беше основан от разработчиците на Xen и беше ангажиран с търговското развитие на този проект с отворен код. Доказателство.