Teljesítménymérési útmutató
Érvényes: System Center 2012 SP1 - Orchestrator, System Center 2012 - Orchestrator, System Center 2012 R2 Orchestrator
Az Orchestrator Runbookjaiban levő tevékenységek úgy értelmezhetők, hogy két különböző típusú kódot tartalmaznak: platformszintű kódot és tartományi szintű kódot. A tartományi szintű kód kifejezéssel olyan kódra utalunk, amely egy Runbookban levő olyan tevékenységben fut, amely általában nincs összefüggésben magával az Orchestrator platformmal (ez alól kivétel például az Invoke Runbook, a Junction stb.). Például a Invoke Web Service nevű szokásos tevékenység tartalmazza egyrészt az Orchestrator platformszintű kódját (a tevékenység „lényegét”), másrészt olyan tartományi szintű kódot is, amely egy SOAP-alapú webszolgáltatás meghívására jellemző. A platformszintű kód a legtöbb tevékenység esetében nagyon hasonló lesz, hisz egy közös keretrendszer alapján készült. A különböző tevékenységekhez tartozó tartományi szintű kódok azonban igen jelentős mértékben eltérhetnek egymástól.
Adatnaplózás
A Runbookok teljesítményében fontos szerepet játszó másik tényező az adatnaplózás. A teljesítményre gyakorolt hatás megértéséhez tekintsünk át két naplózási konfigurációt: az Alapértelmezett naplózást és a Közös közzétett adatok naplózását. Az Alapértelmezett naplózás használata esetén kb. 524 bájtnyi adat íródik az Orchestrator adatbázisába minden alkalommal, amikor lefut egy tevékenység. A Közös közzétett adatok naplózása kb. 6082 bájtnyi adatot ír ki (12-szer annyit, mint az alapértelmezett naplózási szint). Ez igen jelentős különbség a két naplózási szint teljesítménye között.
Gondoljon egy olyan helyzetre, amelyben ugyanaz a Runbook-tevékenység kétszer fut le, egyszer alapértelmezett szintű adatnaplózással, egyszer pedig úgy, hogy engedélyezve van a közös közzétett adatok naplózása. A tartományi szintű kód végrehajtása körülbelül ugyanannyi időt vesz igénybe mindkét esetben. A platformszintű kód azonban hosszabb ideig fut majd, amikor engedélyezve van a közös közzétett adatok naplózása. A platformszintű kódnak ugyanis 12-szer több adat naplózását kell támogatnia, amikor engedélyezve van a közös közzétett adatok naplózása, mint amikor az alapértelmezett naplózási szint mellett fut.
Az Értékek összehasonlítása nevű szokásos tevékenység használható egy Orchestrator-környezet teljesítménymérésére.
Az Orchestrator-környezet teljesítménymérésére használható Runbook létrehozása
-
Hozzon létre egy új Runbookot.
-
Vegyen fel egy Compare Values tevékenységet a Szokásos tevékenységek palettáról. Kattintson duplán a tevékenységre a konfigurálásához.
-
Kattintson az Általános fülre, és állítsa be ezt a tevékenységet karakterláncok összehasonlítására (ez az alapértelmezett érték).
-
Kattintson a Részletek fülre, írja be a STRING értéket a Tesztelés mezőbe, majd válassza ki az üres feltételt.
-
Kattintson a Befejezés gombra a tevékenység módosításainak mentéséhez.
-
Kattintson a tevékenységre az egér jobb oldali gombjával, és válassza a Hurkolás menüpontot.
-
Jelölje be az Engedélyezés jelölőnégyzetet, majd írja be a 0 (nulla) számot a Kísérletek között eltelt idő mezőbe.
-
Kattintson a Kilépés fülre.
-
Módosítsa az alapértelmezett kilépési feltételt. Kattintson az Értékek összehasonlítása elemre, jelölje be a Közös közzétett adatok megjelenítése jelölőnégyzetet, majd válassza a Hurok: kísérletek száma lehetőséget. Kattintson az OK gombra a módosítás mentéséhez.
-
Jelölje ki az érték elemet a módosított kilépési feltételben, és írja be a 10000 (tízezer) számot. Kattintson az OK gombra a módosítás mentéséhez.
-
Kattintson a Befejezés gombra az eddigi módosítások mentéséhez.
-
A Felvétel gombra kattintva mentse a módosításokat az Orchestrator adatbázisába.
Ez az egyszerű, egyetlen tevékenységet tartalmazó Runbook 10 000 alkalommal fog lefuttatni egy Értékek összehasonlítása tevékenységet. Az Értékek összehasonlítása egy nagyon egyszerű tevékenység, a hozzá tartozó tartományi szintű kód mérete minimális. Ez a Runbook különböző körülmények között elindítható, a segítségével jól jellemezhető egy adott Orchestrator futásidejű környezet általános teljesítménye.
Ez a Runbook felhasználható az Orchestrator különböző konfigurációival való kísérletezésre. Tegyük fel például, hogy meg szeretné állapítani különböző adatközpontokban rendszerbe állított négy Runbook-kiszolgáló teljesítményét.
Adatközpont |
Naplózási konfiguráció |
Platformszintű kód futási ideje (másodperc) |
ms/tevékenység |
Mértéktényező |
---|---|---|---|---|
1. helyszín |
Alapértelmezett naplózás |
819 |
82 |
1,0 (referencia) |
1. helyszín |
Közös közzétett adatok naplózása |
2012 |
201 |
2.5 |
2. helyszín |
Alapértelmezett naplózás |
1229 |
123 |
1.5 |
2. helyszín |
Közös közzétett adatok naplózása |
3686 |
369 |
4.5 |
3. helyszín |
Alapértelmezett naplózás |
2457 |
426 |
3.0 |
3. helyszín |
Közös közzétett adatok naplózása |
4422 |
442 |
5.4 |
4. helyszín |
Alapértelmezett naplózás |
1474 |
147 |
1.8 |
4. helyszín |
Közös közzétett adatok naplózása |
2654 |
265 |
3.2 |
Figyelje meg a közös közzétett adatok naplózása által a platform teljesítményében okozott jelentős csökkenést. A helyzet a 2. helyszínen tűnik a legrosszabbnak a közös közzétett adatok naplózása esetén. Első pillantásra ez tiszta és lényeges következtetésnek tűnik.
A fenti számok azonban csak a platformszintű kód többlet erőforrásigényére utalnak, nem nyújtanak információt a tartományi szintű kódról. A tartományi szintű kód futási ideje sokkal hosszabb lehet. Például a Virtual Machine Manager integrációs csomagjában szereplő Virtuális gép létrehozása sablonból tevékenység akár több percig is futhat, amíg létrehozza a virtuális gépet. A fenti példát kibővítve, tekintse át a platformszintű kód időigényét egy olyan Runbook-tevékenység esetében, amely a helyszíntől függetlenül 1 percet igényel a lefutásához (1 perc = 60 000 milliszekundum).
Adatközpont |
Naplózási konfiguráció |
Platformszintű kód futási ideje (másodperc) |
Tartományi szintű kódra eső % |
Platformszintű kódra eső % |
---|---|---|---|---|
1. helyszín |
Alapértelmezett naplózás |
819 |
98.6% |
1.4% |
1. helyszín |
Közös közzétett adatok naplózása |
2012 |
96.7% |
3.3% |
2. helyszín |
Alapértelmezett naplózás |
1229 |
98.0% |
2.0% |
2. helyszín |
Közös közzétett adatok naplózása |
3686 |
93.9% |
6.1% |
3. helyszín |
Alapértelmezett naplózás |
2457 |
95.9% |
4.1% |
3. helyszín |
Közös közzétett adatok naplózása |
4422 |
92.6% |
7.4% |
4. helyszín |
Alapértelmezett naplózás |
1474 |
97.5% |
2.5% |
4. helyszín |
Közös közzétett adatok naplózása |
2654 |
95.6% |
4.4% |
A fenti adatokból tisztább kép bontakozik ki. A teljesítmény továbbra is a 2. helyszínen a leggyengébb, amikor engedélyezve van a közös közzétett adatok naplózása. A platformszintű kód lefutása és a naplózás azonban mindössze a teljes futási idő 6%-át teszi ki. Bár ez jelentős értéknek mondható, ugyanez a hányad a legjobb esetben 1,4%. Tulajdonképpen kijelenthetjük, hogy a példában szereplő tartományi szintű kód futására fordított idő messze felülmúlja a platformszintű kód futására fordított időt. Másképp fogalmazva, ha teljesen ki lehetne küszöbölni a platformszintű kód időigényét, a Runbook teljesítményében elérhető javulás mindössze 1,4% és 7,4% között lenne.
A valós életben előforduló helyzetek természetesen többnyire ettől eltérőek lesznek. A tevékenységek viselkedése attól függően változhat, hogy a tartományi szintű kódnak mi a feladata. Például a Virtuális gép klónozása sablonból tevékenységnek egy percbe telhet egy virtuális gép klónozása az A kiszolgálósablonból, de 5 percbe telhet egy virtuális gép klónozása a B kiszolgálósablonból. Emellett a Runbook-kiszolgálók eltérő teljesítményjellemzőkkel rendelkező különböző hálózatokon helyezkedhetnek el, ami hatással lehet mind a tartományi szintű kód teljesítményére, mind az Orchestrator adatnaplózási teljesítményére.
Összefoglalásképpen:
Gondosan fontolja meg, hogy mikor dönt a közzétett adatok naplózása mellett.
Körültekintően vegye figyelembe a közös közzétett adatok naplózásának esetleges hatásait. Ne feledje, hogy a tevékenységek futásainak száma meghatározza a naplózott adatok mennyiségét. Egy kevés tevékenységet tartalmazó Runbook sok alkalommal történő futtatása több adatnaplózást eredményezhet, mint egy kevesebb alkalommal lefuttatott nagyobb Runbook.
Üzemi környezetben ne engedélyezze a tevékenységspecifikus közzétett adatok naplózását.
Mindig törekedjen annak megértésére, hogy a Runbookok mennyi időt töltenek a tartományi szintű kód futtatásával a platformszintű kód futtatására fordított időhöz viszonyítva.
A jelen dokumentumban vázolt módszerek segítségével becsülje meg a platformszintű kód időigényét. Ezt követően használja ezt a becsült értéket referenciaként annak megfontolásához, hogy hol lehet javítani a Runbook teljesítményét.
A jelen dokumentumban vázolt módszerek alkalmazásával próbáljon mélyebb betekintést nyerni a különböző futásidejű környezetek egymáshoz viszonyított teljesítményébe. A mérési eredmények normalizált összehasonlításával azonosítsa a legjobb lehetőségeket a teljesítmény fokozására.