VMWare ESXi 4 performance

Door bastv op vrijdag 13 november 2009 11:20 - Reacties (18)
Categorie: -, Views: 6.475

Op dit moment maken we bij mij op het werk nog geen gebruik van VMware ESX server en de voornaamste reden daarvoor is dat we daar geen tijd voor vrij hebben willen maken.
Omdat we steeds afhankelijker worden van pc's en server is uptime ook een big issue.
VMWare heeft hele mooie en in verhouding goedkope cluster oplossingen waardoor we er eigenlijk niet meer omheen kunnen.
Een collega riep gelijk dat we niet alles om kunnen zetten naar virtuele server omdat de performance enorm omlaag gaat.
Zijn mening was gebaseerd op gelezen artikelen, ik hou meer van praktijk voorbeelden.

Ik heb dus een server gepakt,alle firmware updates gedraaid, daarna windows server 2003 r2 x64 erop geÔnstalleerd en wat benchmarks gedraaid. Daarna VMWare ESXi 4.0 geÔnstalleerd met 1 virtuele machine die alle resources mag gebruiken en dezelfde benchmarks gedraaid.
Hieronder de resultaten:

Server Specs:
HP DL380 G5
Xeon E5420 @ 2.5ghz
6gb RAM
4x SAS 10.000rpm in RAID5 via Smartarray p400

Software:
Windows server 2003 r2 x64 incl sp2
Vmware ESXi 4.0 hp versie (voor status en management tools)

CPU test:
superpi 1m
superpi 8m
hyperpi 1m
hyperpi 8m

Disk test:
atto <--- WTF! hoe kan dit
update: atto met PVSCSI

Mem test:
maxxmem

Conclusie:
CPU en Geheugen performance verschil is verwaarloosbaar maar disk performance is gewoon ruk (bij DAS niet bij NAS).
Het enige relevante artikel over vergelijkbare disk performance wat ik heb kunnen vinden is deze.
Alleen zit er al een battery pack op de p400 controller en alle firmwares zijn al geupdate.

Zoals het er nu uit ziet moeten we nog wachten met SQL en fileservers om te zetten naar virtuele servers.

Reacties


Door Tweakers user Johnny E, vrijdag 13 november 2009 11:37

Heb je wel een alligned disk gemaakt of het heb je rechtstreeks Windows in een VM geÔnstalleerd? Zoek maar eens op VMWare disk allignment.

Heb je wel VMWare Tools en de versie 7 drivers geÔnstalleerd?

Door Tweakers user MAX3400, vrijdag 13 november 2009 11:43

Vreemde vraag maar waarom test je met ESXi terwijl je in het begin van je blogpost over cluster-oplossingen spreekt? Geen idee op welk niveau je wil clusteren (en dus failoveren) maar ongetwijfeld dat je weet dat daar op financieel en hardware niveau meer bij komt kijken.

Heb je trouwens al gekeken naar de nieuwe versie van Hyper-V of is dat binnen jullie organisatie per definitie geen optie?

Door Tweakers user froggie, vrijdag 13 november 2009 11:43

Het bedrijf waar ik voor werk gebruikt sinds een jaar Xen om onze klant omgevingen te scheiden. Onze ervaringen zijn eigenlijk dezelfde. De verklaring die ik hier tot nog toe voor heb is dat virtualisatie van CPU en memory goed geregeld is, maar disk controllers nog steeds eigendom zijn van, in het geval van Xen, de dom0. Alle IO calls moeten hierdoor eigenlijk dubbel uitgevoerd worden, hence de halvering in performance die je ziet in jouw ATTO benchmark. De enige goede oplossing zou zijn om een vorm van virtualisatie in de IO controller te implementeren zodat VM's, middels een aangepaste driver, direct met de betreffende controller kunnen communiceren, buiten het management domein om.

Mijn ervaring is overigens dat netwerk IO hier iets minder hard onder lijkt te lijden en wij best aardige resultaten zien wanneer we VM's zelfstandig iSCSI targets laten gebruiken, dus buiten de dom0 om. Of dit nog steeds zo is wanneer je van 10Gbit interfaces gebruik gaat maken durf ik niet te zeggen, maar onze VM's hebben aan 1Gbit/s ruim voldoende.

edit:

Ik zie dat je ATTO benchmark maar een lengte heeft van 256MB. Het zou goed kunnen dat de resultaten daardoor scheef getrokken worden doordat de fysieke server anders/beter gebruik kan maken van beschikbare cache en/of memory. Probeer het eens met een lengte van 4 of 8 GB en vergelijk de resultaten dan nog eens.

[Reactie gewijzigd op vrijdag 13 november 2009 11:46]


Door Tweakers user bastv, vrijdag 13 november 2009 11:58

@Johnny E. tools v7 zijn geinstalleerd VMWare disk allignment heb ik niet naar gekeken. bedankt voor de tip

@MAX3400, voordat we hele cluster oplossingen gaan opbouwen wil ik eerst kijken wat de performance is van vmware. hyper-V gaat hier inderdaad niet werken.

@froggie, en SAN zal dus wel een stuk sneller zijn dan DAS? ATTO kan maar tot 256mb

[Reactie gewijzigd op vrijdag 13 november 2009 12:22]


Door Tweakers user mgizmo, vrijdag 13 november 2009 12:15

Ik mis de specs van de configuratie van je ESX systeem of moeten wij er vanuit gaan dat je zoveel weet hoe je de beste performance eruit kunt halen?

Door Tweakers user bastv, vrijdag 13 november 2009 12:21

@mgizmo, server specs staan er wel bij en ik zou niet weten welke configuratie interessant zal zijn voor disk performance. welke settings had je zelf in gedachten?

Door Tweakers user mgizmo, vrijdag 13 november 2009 12:36

bijv:

The default storage adapter in ESX 4.0 is either BusLogic or LSILogic, depending on the guest operating system. However, ESX 4.0 also includes a new virtual storage adapter, paravirtualized SCSI (PVSCSI, alsocalled VMware Paravirtual). PVSCSI adapters offer a significant reduction in CPU utilization as well as potentially increased throughput compared to the BusLogic or LSILogic virtual storage adapters, and are thus the best choice for environments with very I/O-intensive guest applications.

The depth of the queue of outstanding commands in the guest operating system SCSI driver can significantly impact disk performance. A queue depth that is too small, for example, limits the disk bandwidth that can be pushed through the virtual machine. See the driver-specific documentation for more information on how to adjust these settings.

Ennuh aparte disken voor guests (op een aparte controller)


http://www.vmware.com/pdf/Perf_Best_Practices_vSphere4.0.pdf

[Reactie gewijzigd op vrijdag 13 november 2009 12:36]


Door Tweakers user bastv, vrijdag 13 november 2009 13:17

@mgizmo, staat op LSI Logic Parrallel, LSI SAS is bedoeld voor 2008 en heeft geen invloed op 2003.
en volgens mij ondersteund windows (helaas) ook geen paravirtualisatie.

Door Tweakers user SKiLLa, vrijdag 13 november 2009 13:23

1) Waarom nog steeds Win2K3 en niet Win2K8 ?
2) Met die PVSCSI zou je performance grofweg kunnen verdubbelen, maar dan nog blijft het (imho) zuigen ...

Als je echt drukke SQL servers gaat migreren kun je zeker een flinke performance degradatie verwachten, fileservers zijn meestal geen probleem, daar die over het algemeen toch minder (en anders) belast worden ...

Door Tweakers user dutch_warrior, vrijdag 13 november 2009 13:29

PVSCSI werkt prima op 2003 / 2008, alleen booten vanaf een PVSCSI controller is officieel niet ondersteund, maar het kan wel.

http://blog.petecheslock....ual-scsi-pvscsi-adapters/

Maar inderdaad de IOps zijn vaak een bottleneck in (kleinere) virtualisatie omgevingen.
Trouwens wel een leuke blogpost, er ontstaat een mooie discussie :) .

[Reactie gewijzigd op vrijdag 13 november 2009 13:42]


Door Tweakers user ZeRoC00L, vrijdag 13 november 2009 13:31

Wat doet je array als je hem indeeld als RAID10 ?
Je gaat je SQL servers toch niet op een RAID5 array draaien ?

Door Tweakers user bastv, vrijdag 13 november 2009 13:32

1) omdat we nog geen reden zien om te upgraden, 2003 draait prima. Ook hebben we geen Software Assurance dus kosten maken om iets te upgraden wat geen toegevoegde waarde heeft krijg ik er niet door.
2) is zal PVSCSI eens proberen, bedankt voor de tip (ik had echt gelezen dat het geen performance winst zou opleven voor server 2003)

@ZeRoC00L, dit is een live systeem, puur een benchmark om te kijken wat de performance verschillen zijn.

[Reactie gewijzigd op vrijdag 13 november 2009 13:33]


Door Tweakers user MAX3400, vrijdag 13 november 2009 13:33

IOps zijn vaak geen bottleneck in virtualisatie omdat je met de capacity planner best wel inzichtelijk krijgt wat je nodig hebt; 9 van de 10 gevirtualiseerde omgevingen babbelen "dus" tegen een SAN aan met voldoende disks om een hoge doorvoer te kunnen genereren.

Door Tweakers user dutch_warrior, vrijdag 13 november 2009 13:33

@ZeRoC00L
Goed punt, maar volgens mij is dat bij deze discussie niet helemaal van belang want het gaat er puur over hoe een virtuele server presteert ten opzichte van een fysieke server.
Dus als je de array in raid10 zou draaien gaat waarschijnlijk de performance van de fysieke server ook omhoog.

@MAX3400
Klopt vaak wel ja.
Je kosten moeten echter wel beheersbaar blijven als je om je database server te virtualiseren een 2000 euro duurdere SAN neer moet zetten is het waarschijnlijk voordeliger om die database gewoon op een fysieke server te houden.
Ik heb het in mijn vorige post ook even anders verwoord: Het is soms een bottleneck in kleinere virtualisatie omgevingen.

[Reactie gewijzigd op vrijdag 13 november 2009 13:42]


Door Tweakers user SpamLame, vrijdag 13 november 2009 14:18

@dutch_warrior, in je artikel heb je het over clustering mogelijkheden van VMware. Deze hebben allen (vmotion, HA, drs, FT etc) een Shared Storage oplossing nodig, welke over FC-SW en/of iSCSI en/of NFS ontsloten kunnen worden.

Wil je dat doorzetten dan zit je toch vast aan een investering in een Storage oplossing

En als je die Shared Storage oplossing hebt, dan zijn er ineens een hoop ander toepassingen/ oplossingen die je daarop kan laten landen.

Door Tweakers user mgizmo, vrijdag 13 november 2009 14:36

@dutch_warrior: heb je sql databases dan ook op je OS disk staan? m.a.w. VMWare & je guest os draaien op dezelfde logische schijf. Performance wise not a good decision.

Door Tweakers user bastv, vrijdag 13 november 2009 15:44

PVSCSI geprobeerd en het heeft wel iets geholpen

waarschijnlijk zal er dus wel een SAN moeten komen voor optimale prestaties.

[Reactie gewijzigd op vrijdag 13 november 2009 15:44]


Door Tweakers user dutch_warrior, vrijdag 13 november 2009 16:44

@mrgizmo
Waar zeg ik dan iets over database op een osdisk ?
Ik melde alleen dat booten vanaf PVSCSI standaard niet ondersteund is.
En dat het voor de vergelijking tussen performance niet heel erg veel uitmaakt of je test in raid 5 of raid 10 het verschil tussen fysiek en virtueel zal in beide gevallen zichtbaar blijven mits de raid controller zijn werk goed doet natuurlijk.

@SpamLame
Ja natuurlijk heb je shared storage nodig, maar volgens mij begrijp je mijn verhaal verkeerd.
Ik heb een tijdje gewerkt bij een bedrijf waar men ruim 50 users had. Er waren echter veel kleine software applicaties welke allerlei zaken moesten bijhouden men draaide hier een virtuele omgeving omdat HA belangrijk was vanwege 24/7 support en diensten welke voor klanten werden gehost.
Veruit de meeste data was bedoeld voor een grote oracle database en deze had zoveel kleine lees en schrijfacties dat er in totaal ruim 3000 euro extra kosten moesten worden gemaakt om dit ding virtueel te kunnen draaien.
(ik geef toe dat deze database ook niet erg efficiŽnt was maar het is een product van een externe leverancier en dan wordt tuning wat lastiger)
Mijn punt is echter dat het dus voordeliger kan zijn om bepaalde zaken (nog) niet te virtualiseren aangezien het toch al fysiek draait.

@bastv
Toch een kleine winst maar nog steeds een behoorlijk verschil met fysiek.
Maar toch zal een goeie storage oplossing zoals meerdere mensen al hebben aangegeven wel beter presteren.

Reageren is niet meer mogelijk