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.
Ето обобщение на тестовете:
Ако искате да видите резултатите пълни, последвайте връзката.
Вместо заключение
При нашите тестове KVM беше почти винаги с 2% по-бавен от хардуера. Xen беше с 2,5% по-бавен само в три от десет теста и беше с 5-7% по-висок в останалите. Въпреки че KVM се представи добре в теста PostMark, трябва да се отбележи, че проведохме само един I/O тест и си струва да направим още няколко, за да получим по-надеждна картина.
[UPD]Както правилно отбеляза mister_fog, през 2007 г. Citrix купи не изходния код на Xen, а XenSource, който беше основан от разработчиците на Xen и беше ангажиран с търговското развитие на този проект с отворен код. Доказателство.