VMware és GlusterFS

Egy beszélgetéssel indult, hogy hogyan lehetne több gépre vSphere-t húzni közös háttértárral. Egy teszt lett belőle... – írta: frescho, 9 éve

Teszt eredmények

A tesztek eredményeit táblázatokban foglaltam össze, természetesen a bemutatottnál több adat keletkezett, de nem sok értelme lenne például hdtune teszteknél minimumot és maximumot megadni minden esetben. Ahol érdekes, ott kitérek rá külön is.

hdtune

A Windows alatt futtatott teszt eredményei érdekesek lettek. Az első meglepetés a 64k mérés volt. Amikor közvetlenül a vason vagy egyedüli VM-ként futott a Windows, akkor érdekes ingadozást lehetett megfigyelni. A GlusterFS méréseknél eltűnt az ingadozás.

Nagyon rosszul érinti a glusterre költözés az átviteli sebességet, főként kis block méretnél. Kb. a harmada a teljesítménye a hdtune mérése alapján. A merevlemez access time-ja 6 ms körül volt physical és VM esetében. GlusterFS-nél ez 7.9-8.3 ms között volt.

dd

Linux alatt dd-vel lehet egyszerűen mérni írási, olvasási sebességet. Természetesen ez folyamatos (szekvenciális) írást jelent. A fizikai és a virtuális gépek közötti különbség kb. 20 százalék. Glusterre váltva írás esetén 122 MB/s, olvasásnál 220 MB/s a maximum. Az optimalizáció 10% körüli javulást hozott. Ha a vmdk másik gépen van, akkor az kb hasonló nagyságú hátrányt jelent.

bonnie++

Bonnie tesztet is futtattam és az előző kettőhöz hasonló eredmény született. A fizikai vas gyorsabb, mint a virtuális gépek, de ez nem meglepő. A gluster felezi kb. a teljesítményt a sima virtualizációhoz képest. Az optimalizáció javít a teljesítményen, de csak kis mértékben. A kérdés, hogy ez mennyire érzékelhető életközelibb helyzetekben, ugyanis sok esetben cache-elhetőek a lemezműveletek és van, amikor a lemez használat minimális a CPU/memóriához képest.

tar

A 400GB-os adatbázist egy szép tar állományként másoltam fel a teszt gépekre. Mivel files per table (minden tábla külön állomány) beállítást használ a mysql 5.6 alapból, ezért nagyjából 200000 állományt kellett kicsomagolni. Ez elég jól tesztelte a háttértárat, egyszerre olvasott egy nagy és hozott léte sok kis méretű állományt a tar.

Több óráig futott és pár érdekességet sikerült összehozni. Az első, hogy a direkt nagy VM gyorsabb, mint a fizikai vas. Ezen nagyon meglepődtem, mert a különség jelentős. A VM-et optimalizáció nélkül glusterre költöztetve 60%-al több idő kellett a futáshoz. Optimalizációval már "csak" 45%-al kell több idő.

mysql

Az átmásolt adatbázis nem lett rendesen leállítva, így egy recovery-vel kezdődött az első indítás. A hidegindításnak hála a teszt alatt a mysql elsősorban a lemezre kellett, hogy támaszkodjon, mert az összes buffer és cache üres volt. Érdekes, hogy a virtualizáció nem lassította le a mysql-t. A recovery ugyan lassabb lett, de maga a teszt gyorsabb.

Ráadásul a gluster kicsit tovább gyorsította a tesztet, az optimalizációval viszont lassult. Arra jutottam, hogy a több réteg cache (mysql, ESXi, gluster VM) lehet az egész mögött, de az eredmények teljesen ellenkeznek azzal, amire számítottam eredetileg. A teszt valós DB forgalmon alapult, más alkalmazással elképzelhető, hogy teljesen más eredmény született volna.

A cikk még nem ért véget, kérlek, lapozz!

Előzmények