Adatbázisok méretezése és teljesítménye

Fontos

Az Orchestrator ezen verziója elérte a támogatás végét. Javasoljuk, hogy frissítsen az Orchestrator 2022-re.

Az adatbázis-méretezés a System Center – Orchestrator teljesítményének megértéséhez szükséges kulcs. A Runbook-kiszolgálók, a Management kiszolgáló és a webes összetevők mind az Orchestrator adatbázisától függenek a működésükhöz. Az Orchestrator üzembe helyezésével kapcsolatos problémákat az adatbázis adattípusainak és kezelésének hiányos ismerete okozhatja.

A Runbook Designer is kommunikál az Orchestrator adatbázisával (a Management kiszolgálón keresztül), ezért az adatbázis gyenge teljesítménye akadályozhatja ezt a kommunikációt.

Az Orchestrator kezelőfelülete két összetevőn alapul: az Orchestration Console-on és a webszolgáltatáson. Az Orchestration Console egy Silverlight-alapú alkalmazás, amely a webszolgáltatástól függ az Orchestrator-adatbázishoz való csatlakozáshoz. A webszolgáltatás egy IIS-alkalmazás, amely kapcsolódik az adatbázishoz. A webszolgáltatás és az orchestration konzol tehát az Orchestrator-adatbázis teljesítményétől is függ.

Emellett, bár az Vezénylési konzol a webszolgáltatástól függ, a felhasználói felületként való funkciójára és a saját teljesítményjellemzőire jellemző logikával is rendelkezik.

Konfigurációs adatok és naplóadatok

Az Orchestrator-adatbázis magas szinten kétféle adatot tartalmaz:

Konfigurációs adatok

Az Orchestrator-infrastruktúra konfigurációs adatokat tartalmaz. Ezek az adatok nem jelentenek problémát az adatbázis növekedésével kapcsolatban, mivel az ilyen típusú adatok tárolási követelményei kicsik.

Naplóadatok

Az Orchestrator különböző típusú naplóadatokat hoz létre, amelyek mindegyike megtekinthető és kezelhető a Runbook Tervező. Az adatok tárolási követelményei eltérőek lehetnek, és nagyok is lehetnek.

Az alábbi táblázat ismerteti a naplóadatok azon típusait, amelyek az Orchestrator adatbázisában tárolhatók. Az Orchestrator külön naplófájlokban (az adatbázison kívül) tárolja az adatokat a naplók és a nyomkövetés érdekében. A naplóadatok összes típusával kapcsolatos további információkért lásd: Orchestrator-naplók.

Naplóadatok típusa Hely a Runbook Designerben Naplóürítés által kezelve?
Runbook-naplók Napló- és naplóelőzmények lap Yes
Tevékenységesemények (platformesemények) Események lap No
Előzménynapló Naplózási előzmények lap No

Platformszintű kód és tartományi szintű kód

Az Orchestrator runbook-tevékenységei két különböző kódtípust tartalmaznak:

  • Platformkód

    Ez a legtöbb tevékenység által megosztott közös kód, és az Orchestrator-tevékenységek által végrehajtott gyakori feladatok futtatására szolgál. A platformszintű kód közös közzétett adatokat állít elő.

  • Tartománykód

    Az egyes tevékenységek műveleteire jellemző különböző feladatokat futtat, amelyek általában nem kapcsolódnak magához az Orchestrator-platformhoz. Lehetséges, hogy a platformkód és a tartományi kód között nagy eltérések lehetnek.

Az adott tevékenységhez létrehozott naplózási adatok tartalmazhatnak egy vagy többértékű adatelemeket. Minden tevékenység egyetlen rekordot hoz létre egyértékű adatokból. A tartománykód több rekordot is képes létrehozni többértékű adatokból, ezért felelős annak meghatározásáért, hogy a tevékenység mit tesz a korábbi tevékenységektől kapott közös közzétett adatokkal.

Az Orchestrator Runbookjai tulajdonképpen arra szolgálnak, hogy adatokat továbbítsanak a tartományi szintű kódot tartalmazó különálló elemek között. A tartománykód emellett igény szerint tevékenységspecifikus közzétett adatokat is létrehozhat.

Minden Runbook alapvetően hasonlít egymásra abból a szempontból, hogy tartományi szintű kódból és platformszintű kódból álló tevékenységeket futtatnak, hurkokat alakítanak ki a munkafolyamatokban, és elágaznak. Elágazásnak azt nevezzük, amikor egy Runbook más Runbookokat hív meg adott feladat elvégzése érdekében. A runbook első meghívása egyetlen szálból áll. Amikor ez a szál egy olyan Runbook-tevékenységhez ér, amelynek kapcsolatai elágazást tesznek szükségessé, további szálak jönnek létre, minden egyes ághoz egy. Mindegyik szál azokat a közös közzétett adatokat használja bemeneti adatként, amelyek az ágat létrehozó tevékenységtől származnak. Ezek az adatok visszamenőleges korrelációban állnak a Runbookban levő korábbi tevékenységekkel, hogy frissíthessék a tevékenységek által előfizetett közös közzétett adatokat.

A tartománykód az elágaztatás által generált többszálúságnál nagyobb hatással lehet az adatbázis teljesítményére. Ennek az az oka, hogy a tartománykód nagy mennyiségű tevékenységspecifikus közzétett adatot generálhat.

Naplózási beállítások

A Runbook tulajdonságainakNaplózás lapján opcionálisan tárolhatja a naplózási bejegyzéseket. Az alapértelmezett naplózás kifejezés azt jelenti, hogy a két közzétett adatbeállítás közül egyik sem van kiválasztva, amely minden tevékenységhez 524 bájtot tesz ki. A naplózási beállítások a közzétett adatok két kategóriájának naplózását teszik lehetővé:

  • Gyakori közzétett adatok

    Az összes tevékenységre vonatkozóan közös adatelemek halmaza. A listát a Runbooknapló beállításai című témakörben találja.

    Ez a naplózási beállítás 6082 bájtnyi adatot állít elő minden egyes tevékenységhez.

  • Tevékenységspecifikus közzétett adatok

    Azon adatok halmaza, amelyek specifikusan a tevékenységhez tartoznak, és amelyeket a tartományi szintű kód állíthat elő.

    Ez a naplózási beállítás további 6082 bájtot állít elő az egyes tevékenységek által naplózott adatmennyiségen felül.

    Tipp

    Ezt a beállítást elsősorban hibakeresési célra szokták bejelölni. A naplóméretek növekedésének korlátozása érdekében ne jelölje be ezt a lehetőséget.

A naplózási beállítások bejelölése jelentős hatással lehet a teljesítményre, és hozzájárulhat az adatbázis növekedéséhez. Gondoljon egy olyan helyzetre, amelyben ugyanaz a Runbook-tevékenység kétszer fut le, először alapértelmezett szintű adatnaplózással (egyik közzétett adattípus naplózása sincs kiválasztva), egyszer pedig úgy, hogy be van állítva 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, mert 12-szer annyi közös közzétett adat naplózását kell támogatnia, mint amennyi adatot az alapértelmezett naplózás esetén támogat.

Naplók kiürítése

A Runbook TervezőNapló végleges törlése funkciójához megadott alapértelmezett beállítások úgy vannak konfigurálva, hogy a lehető legjobb felhasználói élményt nyújthassák a beépített Orchestrator-telepítéshez. Ezeknek az értékeknek a módosítása megváltoztathatja a környezet teljesítményjellemzőit, és fokozatosan és magas vízjelekkel kell implementálva, hogy a változás hatása értékelhető legyen.

A naplók automatikus és manuális törléséről további információt a Runbook-naplók végleges törlése című témakörben talál.

Teljesítménymérések létrehozása

Ha egy egyszerű runbookot szeretne létrehozni a naplózás növekedésének teszteléséhez, a Standard Activity Compare Values használatával létrehozhatja az Orchestrator-környezetek teljesítményteszteit.

Az alábbi eljárás egy runbookot hoz létre, amely 10 000-szer futtat egy Értékek összehasonlítása tevékenységet. Az Értékek összehasonlítása egy egyszerű tevékenység, amelynek tartománykódja minimális. Ez a runbook különböző körülmények között hívható meg egy adott Orchestrator-futtatókörnyezet általános teljesítményének jellemzé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. Adjon hozzá egy Compare Values (Értékek összehasonlítása ) tevékenységet a Standard tevékenység palettáról. Kattintson duplán a tevékenységre a konfigurálásához.

  3. Válassza az Általános lapot, és konfigurálja ezt a tevékenységet a sztringek (az alapértelmezett érték) összehasonlításához.

  4. Válassza a Részletek lapot, írja be a SZTRING értéket a Teszt mezőbe, és válassza az üres értéket.

  5. Kattintson a Befejezés gombra a tevékenység frissítéseinek mentéséhez.

  6. Kattintson a jobb gombbal a tevékenységre, és válassza a Hurok lehetőséget.

  7. Jelölje be az Engedélyezés jelölőnégyzetet, és adja meg a 0 (nulla) értéket a kísérletek közötti késleltetéshez.

  8. Válassza a Kilépés lapot.

  9. Módosítsa az alapértelmezett kilépési feltételt. Válassza az Értékek összehasonlítása lehetőséget, 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. A módosítás mentéséhez kattintson az OK gombra .

  10. Válassza ki a frissített kilépési feltétel értékét , és adja meg az 10000-es számot (tízezer). A módosítás mentéséhez kattintson az OK gombra .

  11. A frissítések mentéséhez válassza a Befejezés lehetőséget.

  12. Az Orchestrator-adatbázis módosításainak mentéséhez válassza a Bejelentkezés lehetőséget.

Ez a Runbook felhasználható az Orchestrator különböző konfigurációival való kísérletezésre. Létrehozhat például teljesítménymérő Runbookokat, amelyekkel megállapíthatja 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 (milliszekundum) Milliszekundum/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. hely Alapértelmezett naplózás 1229 123 1.5
2. hely Közös közzétett adatok naplózása 3686 369 4,5
3. hely Alapértelmezett naplózás 2457 426 3.0
3. hely Közös közzétett adatok naplózása 4422 442 5.4
4. hely Alapértelmezett naplózás 1474 147 1.8
4. hely 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 legrosszabb forgatókönyv a gyakori közzétett adatok naplózása a 2. helyen. A felszínen ez egyértelmű és releváns 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ánykód-futtatókörnyezetek hosszabbak is lehetnek. Előfordulhat például, hogy a Virtuális gép létrehozása sablonból tevékenység a Virtual Machine Manager integrációs csomagban a virtuális gép létrehozásakor néhány percig fut. Az előző példában kibontva vegye figyelembe egy runbook-tevékenység platformkódjának költségeit, amely 1 percet vesz igénybe (1 perc = 60 000 ezredmásodperc) a helytől függetlenül.

Adatközpont Naplózási konfiguráció Platformszintű kód futási ideje (milliszekundum) 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. hely Alapértelmezett naplózás 1229 98.0% 2.0%
2. hely Közös közzétett adatok naplózása 3686 93.9% 6.1%
3. hely Alapértelmezett naplózás 2457 95.9% 4.1%
3. hely Közös közzétett adatok naplózása 4422 92.6% 7.4%
4. hely Alapértelmezett naplózás 1474 97.5% 2.5%
4. hely 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 szám, a legjobb forgatókönyv 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. Ha ezt szemszögből nézzük, a platformkódok költségeinek teljes kiküszöbölése esetén csak a runbookok 1,4%-7,4%-os teljesítménybeli javulását láthatjuk.

A legtöbb valós forgatókönyv eltérő lesz. A tevékenység viselkedése attól függően változhat, hogy a tartományi kódnak mit kell tennie. Egy virtuális gép sablonból történő klónozása például egy percet is igénybe vehet, amíg klónoz egy virtuális gépet az A kiszolgálósablonból, de 5 percet vesz igénybe a virtuális gép klónozása a B kiszolgálósablonból. Emellett a Runbook-kiszolgálók különböző, eltérő teljesítményjellemzőkkel rendelkező hálózatokon is lehetnek, amelyek hatással lehetnek a tartománykódok teljesítményére és az Orchestrator adatnaplózási teljesítményére is.

Az adatbázis növekedésének meghatározása

Az Orchestrator adatbázisának rendszergazdája a következő irányelveket használhatja az adatbázisfájl növekedésével kapcsolatos stratégia kialakításához:

  • Általánosságban elmondható, hogy az adatbázisfájlok mérete nem nő a runbookok minden egyes meghívásával. A fájlok mérete akkor nő, amikor a bennük szereplő adatok mennyisége elér egy, az adatbázis rendszergazdája által konfigurált felső küszöbértéket, ekkor a fájlok általában ki lesznek bővítve.

  • Minden alkalommal, amikor egy runbook-tevékenység fut, külön-külön kell megszámolni, amit figyelembe kell venni, ha a hurokfunkciók egy tevékenység többszöri futtatását okozhatják.

  • A runbook egyes meghívásaihoz szükséges tárterület meghatározásához szorozza meg a runbookban lévő tevékenységek számát az adatbázishoz hozzáadott bájtok számával a kiválasztott naplózási szintnek megfelelően. Ezek az értékek a következők:

    • 524 bájt

      Alapértelmezett naplózási konfiguráció

    • 6082 bájt

      Közös közzétett adatok naplózási szint

    • 6082 bájt + tevékenység szerint naplózott adatok

      Tevékenységspecifikus közzétett adatnaplózási szint.

  • Alapértelmezés szerint az Orchestrator az összes legutóbbi 500 naplót törli minden runbookhoz éjjel 2:00-kor. A runbook egyes meghívásaihoz szükséges tárterület meghatározásához szorozza meg a runbook minden egyes meghívásához szükséges tárterületet 500-zal. Ha módosítja a Napló végleges törlése beállítást, az egyes hívásokat megszorozza a napi, heti vagy havi hívás becsült számával.

Az alábbi táblázat szemlélteti a növekedés és a teljesítmény becsült alakulását az egyes naplózási szintekhez.

Naplózási szint Adatbázis-növekedési tényező Teljesítménytényező Üzemi környezetben javasolt?
Alapértelmezett 1 1 Yes
Közös közzétett adatok 11,6x 2,5x Korlátozott használat tervezéssel
Tevékenységspecifikus közzétett adatok Több, mint 11,6x Több, mint 2,5x No

Példák

1\. példa

Az alábbi táblázat az Orchestrator üzembe helyezésének adatbázis-méretezési szempontjait ismerteti.

Runbook neve Tevékenységek száma Naplózási szint Indítások száma naponta
1. Runbook 50 Alapértelmezett 100
Runbook 2 25 Alapértelmezett 50
Runbook 3 12 Közös közzétett adatok 24
Runbook 4 8 Közös közzétett adatok 500

A fent ismertetett adatbázis-méretezési módszer használatával megbecsülhető a Runbookok számára szükséges tárterület.

Runbook neve Bájtok száma indításonként Tárterület (MB)

Alapértelmezett naplóürítés (500 indítás)
Indítások száma havonta Tárterület (MB)

egy hónap alatt

(nem alapértelmezett naplóürítés)
Adatbázis-terület %-a 30 nap után
1. Runbook 26,200 12.5 3,000 74.5 9%
Runbook 2 13,100 6,2 1500 18,7 2%
Runbook 3 72,984 34.8 720 50.1 6%
Runbook 4 48,656 23.2 15 000 696.0 83%
Összesen: 76,7 MB Összesen: 839,3 MB

Ez a példa jól szemlélteti, milyen fontosak a helyes döntések az adatnaplózás beállításakor. A Runbook 4 csak nyolc tevékenységet tartalmaz, de ha a Common Published Data Logging (Közös közzétett adatok naplózása) szinten van konfigurálva, a meghívások nagy gyakorisága miatt az adatbázis legtöbb tárterületét felhasználja. Ezen eredmények alapján érdemes lehet a Runbook 4 naplózási szintjét az Alapértelmezett naplózási konfigurációra csökkenteni.

2\. példa

Az alábbi táblázat az Orchestrator egy másik üzembe helyezésének adatbázis-méretezési szempontjait ismerteti.

Runbook neve Tevékenységek száma Naplózási szint Indítások száma naponta
1. Runbook 50 Alapértelmezett 100
Runbook 2 25 Alapértelmezett 50
Runbook 3 12 Közös közzétett adatok 24
Runbook 4 8 Alapértelmezett 500

A frissített konfiguráció tárolási igényének újraszámítása jelentősen eltérő eredményekre vezet.

Runbook neve Bájtok száma indításonként Tárterület (MB)

Alapértelmezett naplóürítés (500 indítás)
Indítások száma havonta Tárterület (MB)

egy hónap alatt

(nem alapértelmezett naplóürítés)
Adatbázis-terület %-a 30 nap után
1. Runbook 26,200 12.5 3,000 74.5 37%
Runbook 2 13,100 6,2 1500 18,7 9%
Runbook 3 72,984 34.8 720 50.1 25%
Runbook 4 4,192 2.0 15 000 60,0 29%
Összesen: 55,5 MB Összesen: 203,3 MB

Bár az alapértelmezett naplózási konfigurációban kevés változás történt (runbookonként 500 naplóbejegyzés), a 30 napos tárolási követelmények jelentősen megváltoztak. A Runbook 4 közös közzétett adatnaplózásának tárolási költségeit egyértelműen figyelembe kell venni, mivel ez a változás 76%-kal csökkenti az adatbázis-tárolási követelményeket 30 napnyi adat esetében.

Összefoglalás

Használja a következő irányelveket az adatbázisok méretezésének és teljesítményének kezeléséhez:

  • Csak akkor engedélyezze a közös közzétett adatok naplózását, ha arra valóban szükség van.

  • Ne feledje, hogy a tevékenységek futásainak száma meghatározza a naplózott adatok mennyiségét. Egy kis runbook, amely több tevékenységet futtat, több adatnaplózást eredményezhet, mint egy nagyobb runbook kevesebb alkalommal.

  • Ne engedélyezze a tevékenységspecifikus közzétett adatok naplózását éles környezetben, és csak hibakeresési célokra használható.

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

Lásd még: