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

  1. Hozzon létre egy új Runbookot.

  2. 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.

  3. 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).

  4. 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.

  5. Kattintson a Befejezés gombra a tevékenység módosításainak mentéséhez.

  6. Kattintson a tevékenységre az egér jobb oldali gombjával, és válassza a Hurkolás menüpontot.

  7. 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.

  8. Kattintson a Kilépés fülre.

  9. 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.

  10. 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.

  11. Kattintson a Befejezés gombra az eddigi módosítások mentéséhez.

  12. 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.