locked
Hyper-V a nízký výkon virtuálních strojů

    Dotaz

  • Chtěl bych se zeptat, zda někdo neřešil následující problém. Mám server se dvěma procesory, celkově 16 jader a 32GB paměti jako host s Hyper-V. Jeho vytížení nepřekarčuje 5%. Na tomto hostu beží 6 virtuálních serverů, které jsou naprosto přetížené, vykazují vytížení v průměru 70% a nezřídka dosahující na dlouhou dobu 100%. Může mi někdo objasnit, jak dokážu přinutit Hyper-V, aby začalo používat 100% výkonu serveru? Podobně jak je tomu u vmware produktů?

    Zkoušel jsem ladit resources, ale to nemělo žádný vliv. Zkoušel jsem přidávat virtuální procesory a taky bez jakékoliv změny. Dokonce mi uživatelé začali hlásit zhoršení stavu. Tak skutečně nevím, protože takto je to naprosto nepoužitelné.

    Děkuji za odpovědi

    úterý 12. dubna 2011 13:04

Odpovědi

  • Ahoj, kde jsi se díval na to vytížení procesoru? Ve správci úloh? Ten nezobrazuje vytížení procesoru správně. Musíš zapnout Sledování prostředků, tam je zobrazené správně.

    Další věc - 16 jader a dva procesory - přdpokládám, že máš zapnutý Hyper-threading - tak ho vypni.

    U Hyper-V by se měl v počítači nejprve přidat jen jeden procesor a poté, až to nebude stačit přidávat další.

    Další věcí je to, jak máš přiřazená jádra. Kdybys měl 6 strojů a každému dal 4 jádra (a tvůj server jich má 8/16) a všichni by to vytížili na 100% tak vznikne logicky problém s nedostatkem výkonu.

    Další věc je, že prostě některé aplikace nejsou vhodné pro Virtualizaci. Když ti všechny stroje pojedou na 100% (třeba by jsi mohl napsat, co ti tam jede..) tak Virtualizace postrádá smysl - to je lepší mít 6 oddělených serverů apod. Takže tam je potřeba plánovat.

    úterý 12. dubna 2011 13:51
  • Děkuji, ale musel jsem ten problém nakonec vyřešit jinak. Ano SP1 i ostatní věci jsem zkoušel. Tento problém už mám dva měsíce, tudíž jsem vyzkoušel co šlo. Tohle fórum mi přišlo jako poslední možnost záchrany. Velice mne překvapilo, že Hyper-V nedokáže použvat pro virtuální stroje víc paměti než je fyzická paměť hosta. Chová se to tak, že Hyper-V prostě vezme jeden procesor nebo jádro, nakrájí ho počtem virtuálních strojů a to je vše. Bohužel tak i paměť. při použití v clusteru, pak musíte mít na všech nodech prostředky které nevyužíváte a jsou tam jenom pro případ výpadku.

    Výsledkem je pak, že pokud máte 2GHz procesor (nezáleží kolik jich je ani kolik má jader), Hyper-V to v mém případě dělí šesti a vyrobí z toho šest virtuálních strojů s procesorem o výkonu 2GHz/6=330 Mhz. Samozřejmě toto není přesné ani zdaleka, ale přesně tak se to chová. Jako by moje virtuální servery beželi na nějakém 500Mhz Celeronu.

    Můžu to zodpovědně prohlásit, protože jsem to ještě včera přehodil zpět na vmware a na jednom fyzickém serveru jich bez problému provozuji 12 virtuálních.

    Nebýt toho, že jsem potřeboval taky cluster, asi bych si musel hledat novou práci. Těžko bych asi vysvětlil, že jsem utratil 2x 60 000,- za enterprise verzi, kde jsem chtěl bláhově v clusteru provozovat virtualizaci. Cluster hezký, ale Hyper-V jak se ukazuje je propadák.

    Omlouvám se, že se tomuto tématu nebudu dál věnovat, pracuji v ostrém a skutečném provozu. Pro hokusy pokusy zde bohužel není prostor. Domníval jsem se, že jsem něco nepochopil a zapomněl nastavit.

    Ještě jednou moc děkuji za snahu.

    čtvrtek 14. dubna 2011 7:45

Všechny reakce

  • Ahoj, kde jsi se díval na to vytížení procesoru? Ve správci úloh? Ten nezobrazuje vytížení procesoru správně. Musíš zapnout Sledování prostředků, tam je zobrazené správně.

    Další věc - 16 jader a dva procesory - přdpokládám, že máš zapnutý Hyper-threading - tak ho vypni.

    U Hyper-V by se měl v počítači nejprve přidat jen jeden procesor a poté, až to nebude stačit přidávat další.

    Další věcí je to, jak máš přiřazená jádra. Kdybys měl 6 strojů a každému dal 4 jádra (a tvůj server jich má 8/16) a všichni by to vytížili na 100% tak vznikne logicky problém s nedostatkem výkonu.

    Další věc je, že prostě některé aplikace nejsou vhodné pro Virtualizaci. Když ti všechny stroje pojedou na 100% (třeba by jsi mohl napsat, co ti tam jede..) tak Virtualizace postrádá smysl - to je lepší mít 6 oddělených serverů apod. Takže tam je potřeba plánovat.

    úterý 12. dubna 2011 13:51
  • Tady se mluvi o procesorech a jejich vyuziti, ale dulezitejsi je posoudit "frontu" zadosti na CPU. Take mi chybi informace o diskove kapacite. Dovedu si predstavit nevyhodnou situaci "soupereni" virtualnich serveru o fyzicky disk.

    Jake aplikace bezi na serverch a jak jsou prostredky rozdelene mezi servery? Ocekavani 100% vyuzivani CPU pro Hyper-V a fungovani VMware je na bazi osobnich zkusenosti?

    středa 13. dubna 2011 8:29
    Moderátor
  • Děkuji za zájem a upřesňuji.

    Jedná se AMD opterony, tudíž hyperthreading odpadá. Co se týče disků, jedná se o síťové aplikace a na lokálních discích je podle resource monitoru i podle téměř neblikajících diod nulový provoz. Dle ResMon jednou za uherák vyskočí graf na 100 KB. Vytížení sítě je na cca 0,5%. To odpovídá provozu.

    Opět se dívám v ResMon na vytížení CPU, ale nenacházím žádné indicie o větším vytížení. Jediné co tady vykazuje výrazně nenulovou hodnotu je modrá křivka maximum frequency, která je v úrovni 70%. To by odpovídalo součtu procent v Hyper-V manageru. Nicméně zelené křivky u procesoru kopírují spodní linku okna. Host je 2008 R2 Ent a beží na nich W2000 jako terminálové servery pro podnikový IS. IS se téměř celý načte do paměti a pak už jenom čte databázi. Zápisů je minimum. Prostředky jsou rozděleny defaultně, tedy tak, jak si je nastavi windows. Ve vlastnostech virtuálního stroje je virtual machine limit/percent of total system resources. Zde windows zaparkují třeba hodnotu 12 a virtuální stroj již tuto hodnotu nikdy nepřekročí. Snažil jsem se měnit okolní hodnoty avšak bez výsledku.

    Ze začátku měli tyto virtuální servery jenom jeden virtuální procesor. Když se ukázalo, že to nestačí, tak jsem přidal. To kupodivu vedlo k dalšímu zhoršení. Nejvíce mne zarazilo, že je jedno jestli běží všech 6 serverů nebo jenom jeden. Prostě guest je nepoužitelný.

    Stejnou situaci jsem měl nejdříve odzkoušenou na vmware ESXi, ale pak jsem chtěl využít možností 4 licencí v případě Hyper-V jako host. Dle mého názoru a dle zkušeností s vmware by měl ten server zvládnout bez problému 50 takových virtuálních serverů. Šest je zkrátka směšné číslo i kdyby to běželo na obyčejném PC s nějakým lepším desktopovým procesorem.

    Děkuji

     


    středa 13. dubna 2011 12:00
  • V konzoli Hyper-V, pokud máš dejme tomu ke každému počítači přiřazené 4 procesory a celkem máte 16 jader, tak by při maximálním vytížení měl ukazovat 25% vytížení.

    Ještě koukni na tothle..

    http://www.petri.co.il/forums/showthread.php?t=44579

    Jsou to čisté instalace v Hyper-V nebo je to nějaká migrace? Mají Legacy síťový adaptér? Integrační FCE? SP4?

    středa 13. dubna 2011 12:06
  • Tu první větu bych potřeboval více objasnit. V konzoli hyper-v mám šest serverů v průměru po dvou virt. procesorech. Je u nich maximálně 12%. V Resource monitoru je situace jak jsem ji popsal. Vytížení = +- 0. Je to zřejmé i z reakcí serveru na kliknutí. U hosta je to okamžitě bez prodlev. U guesta i vtěřiny. 

    Co se týče Kompletní instalace jak guesta, tak i hosta jsou to čisté instalace ničím neposkvrněné. Při změně počtu virt. procesorů jsem guesty znovu instaloval.

    O problému s instalací w2000 jsem se dověděl z vlastní zkušenosti. Takže dnes mám instalaci s integračními službami a ne-legacy adaptérem. Řekněme tedy že s nativním adaptérem. Instalace je plně aktualizovaná, dokonce i včetně volitelných aktualizací.

    Podotýkám, že kromě mizerného výkonu, nic žádný problém nevykazuje. Vše funguje k přiměřené spokojenosti. 

    středa 13. dubna 2011 12:24
  • Děkuji, ale musel jsem ten problém nakonec vyřešit jinak. Ano SP1 i ostatní věci jsem zkoušel. Tento problém už mám dva měsíce, tudíž jsem vyzkoušel co šlo. Tohle fórum mi přišlo jako poslední možnost záchrany. Velice mne překvapilo, že Hyper-V nedokáže použvat pro virtuální stroje víc paměti než je fyzická paměť hosta. Chová se to tak, že Hyper-V prostě vezme jeden procesor nebo jádro, nakrájí ho počtem virtuálních strojů a to je vše. Bohužel tak i paměť. při použití v clusteru, pak musíte mít na všech nodech prostředky které nevyužíváte a jsou tam jenom pro případ výpadku.

    Výsledkem je pak, že pokud máte 2GHz procesor (nezáleží kolik jich je ani kolik má jader), Hyper-V to v mém případě dělí šesti a vyrobí z toho šest virtuálních strojů s procesorem o výkonu 2GHz/6=330 Mhz. Samozřejmě toto není přesné ani zdaleka, ale přesně tak se to chová. Jako by moje virtuální servery beželi na nějakém 500Mhz Celeronu.

    Můžu to zodpovědně prohlásit, protože jsem to ještě včera přehodil zpět na vmware a na jednom fyzickém serveru jich bez problému provozuji 12 virtuálních.

    Nebýt toho, že jsem potřeboval taky cluster, asi bych si musel hledat novou práci. Těžko bych asi vysvětlil, že jsem utratil 2x 60 000,- za enterprise verzi, kde jsem chtěl bláhově v clusteru provozovat virtualizaci. Cluster hezký, ale Hyper-V jak se ukazuje je propadák.

    Omlouvám se, že se tomuto tématu nebudu dál věnovat, pracuji v ostrém a skutečném provozu. Pro hokusy pokusy zde bohužel není prostor. Domníval jsem se, že jsem něco nepochopil a zapomněl nastavit.

    Ještě jednou moc děkuji za snahu.

    čtvrtek 14. dubna 2011 7:45
  • Nebýt toho, že jsem potřeboval taky cluster, asi bych si musel hledat novou práci. Těžko bych asi vysvětlil, že jsem utratil 2x 60 000,- za enterprise verzi, kde jsem chtěl bláhově v clusteru provozovat virtualizaci.

    Těch 60kKč snadno obhájíte nejen potřebou clusteru ale i finanční úsporou za cenu licencí. Licence Enterprise verze vám umožňuje provozovat za tuto cenu 4 serverové OS ve virtuálním prostředí (nevadí že to není v Hyper-V) a cena je asi 3,2 násobek verze standard.
    pátek 22. dubna 2011 11:24
  • Ahoj

    Možná stupidní dotaz, kde zjistím zda je hyper-thearding zapnut nebo vypnut? Díky za info.

    úterý 2. prosince 2014 7:47
  • V BIOSu.

    A neotevírej staré téma, je lepší založit nové.


    BB

    úterý 2. prosince 2014 8:53
  • Nepridavejte novy problém na konec stare diskuse.

    Mnohem prehlednejsi a i pro ostatní je lepsi vytvořit nove vlakno (zadat novy problém).

    Pro jistotu toto vlakno zamykam.

    Dekuji za pochopeni.

    M.

    úterý 2. prosince 2014 16:38
    Moderátor