Teljesítményteszt-runbook létrehozásaHow to create a benchmark runbook

Fontos

A Orchestrator ezen verziója elérte a támogatás végét, javasoljuk, hogy frissítsen a Orchestrator 2019-re.This version of Orchestrator has reached the end of support, we recommend you to upgrade to Orchestrator 2019.

A Orchestrator-runbook teljesítményének optimalizálása érdekében létre kell hoznia egy teljesítménnyel kapcsolatos teljesítménytesztet.You will need to create a performance benchmark in order to optimize the performance for your Orchestrator runbook. A teljesítményteszt létrehozásának részeként elemezni kell a runbook lévő tevékenységeket.As part of creating the benchmark you should analyze the activities in your runbook.

A Orchestrator runbook-tevékenységek két különböző típusú kóddal rendelkezhetnek: a platform Code és a domain code.Orchestrator runbook activities can be thought of as having two distinct types of code: platform code and domain code. A tartományi kód kifejezés a runbook-tevékenységen belüli kód azonosítására szolgál, amely általában nem a Orchestrator platformmal van társítva a ( jelentős kivételekkel, például meghívja a runbook, a Junctionés másokat ) .The term domain code is used to identify code within a runbook activity that is typically not associated with the Orchestrator platform itself (with notable exceptions, such as Invoke Runbook, Junction, and others). A webszolgáltatások meghívása standard tevékenység például a Orchestrator platform kódját tartalmazza ( a tevékenység "plumbing", valamint a ) SOAP-alapú webszolgáltatás meghívásához egyedi tartományi kód esetében - .For example, the Invoke Web Service standard activity would contain Orchestrator platform code (the "plumbing" of the activity) as well as domain code unique to invoking a SOAP-based web service. 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.The platform code will be very similar for most activities, since it is built on a common framework. 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.However, there will potentially be great variation in domain code for different activities.

AdatnaplózásData Logging

Az adatnaplózás jelentős hatással van a runbook teljesítményére.Data logging has a major impact on runbook performance. A teljesítmény megismerése érdekében vegye figyelembe a két naplózási konfigurációt: az alapértelmezett naplózást és az általános közzétett adatnaplózást.For the purpose of understanding performance consider two logging configurations: Default logging and Common Published Data logging. 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.Default logging results in approximately 524 bytes of data being written to the Orchestrator database each time an activity is run. A közös közzétett adat naplózása körülbelül 6 082 bájt adatmennyiséget ír le ( az alapértelmezett naplózási szinten ) .Logging of common published data writes approximately 6,082 bytes of data (12 times the default logging level). Ez igen jelentős különbség a két naplózási szint teljesítménye között.There is a notable difference in performance between these logging levels.

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.Consider the scenario where the same runbook activity is run twice, once with data logging at the default level and once with logging of common published data enabled. A tartományi szintű kód végrehajtása körülbelül ugyanannyi időt vesz igénybe mindkét esetben.The domain code should take the same amount of time to complete. A platformszintű kód azonban hosszabb ideig fut majd, amikor engedélyezve van a közös közzétett adatok naplózása.However, the platform code will take longer to run with common published data logging enabled. 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.Essentially, the platform code has to support logging 12 times more data with common published data enabled than it did when running at the default logging level.

A szabványos tevékenység- összehasonlítási értékek használatával Orchestrator-környezetek teljesítményteszteket hozhat létre.The Standard Activity Compare Values can been used to create benchmarks of an Orchestrator environment.

Az Orchestrator-környezet teljesítménymérésére használható Runbook létrehozásaTo create a runbook that can be used to benchmark your Orchestrator environment

  1. Hozzon létre egy új Runbookot.Create a new runbook.
  2. Adja hozzá az értékek összehasonlítása tevékenységet a normál tevékenység palettáján.Add a Compare Values activity from the Standard Activity palette. -A konfiguráláshoz kattintson duplán a tevékenységre.Double-click the activity to configure it.
  3. Kattintson az általános fülre, és konfigurálja a tevékenységet úgy, hogy összehasonlítsa a sztringeket ( az alapértelmezett értékkel ) .Click the General tab and configure this activity to compare strings (the default value).
  4. Kattintson a részletek lapra, írja be az érték karakterláncot a test (teszt ) mezőbe, és válassza az üreslehetőséget.Click the Details tab, type the value STRING in the Test box and select is empty.
  5. Kattintson a Befejezés gombra a tevékenység frissítéseinek mentéséhez.Click Finish to save the updates to the activity.
  6. Kattintson a jobb gombbal a tevékenységre, és válassza a hurkoklehetőséget.Right-click the activity and select Looping.
  7. Jelölje be az Engedélyezés jelölőnégyzetet, és 0 a ( ) kísérletek közötti késleltetéshezadja meg a 0 nulla értéket.Select the Enable checkbox and enter the number 0 (zero) for Delay between attempts.
  8. Kattintson a Kilépés fülre.Click the Exit tab.
  9. Módosítsa az alapértelmezett kilépési feltételt.Change the default exit condition. Kattintson az értékek összehasonlításalehetőségre, 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ámalehetőséget.Click Compare Values, check the Show Common Published Data checkbox, and select Loop: Number of attempts. A módosítás mentéséhez kattintson az OK gombra.Click OK to save this change.
  10. Válassza ki az értéket a frissített kilépési feltétellel, és írja be a 10000 -es számot tízezerre ( - ) .Select value from the updated exit condition and type the number 10000 (ten-thousand). A módosítás mentéséhez kattintson az OK gombra.Click OK to save this change.
  11. A frissítések mentéséhez kattintson a Befejezés gombra.Click Finish to save these updates.
  12. Kattintson a beadás gombra a Orchestrator-adatbázis módosításainak mentéséhez.Click Check In to save the changes to the Orchestrator database.

Ez az egyszerű - tevékenység runbook az 10 000-es értékek összehasonlítása tevékenységet fogja futtatni.This simple one-activity runbook will run a Compare Values activity 10,000 times. Az értékek összehasonlítása egy nagyon egyszerű tevékenység, amelynek tartományi kódja elég minimális.Compare Values is a very simple activity whose domain code is quite minimal. 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.This runbook can be invoked under a variety of circumstances to characterize the overall performance of a given Orchestrator runtime environment.

Ez a Runbook felhasználható az Orchestrator különböző konfigurációival való kísérletezésre.This runbook can be used to experiment with different configurations of Orchestrator. 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.For example, supposed you wanted to determine the performance of four Runbook Servers deployed to different data centers.

AdatközpontData Center Naplózási konfigurációLogging Configuration Platform kód futási ideje ( ( másodperc))Platform Code Run Time (seconds) MS- / tevékenységms/Activity MértéktényezőScale Factor
1. helyszínLocation 1 Alapértelmezett naplózásDefault logging 819819 8282 1,0- ( hivatkozás)1.0 (reference)
1. helyszínLocation 1 Közös közzétett adatok naplózásaLogging common published data 20122012 201201 2,52.5
2. helyLocation 2 Alapértelmezett naplózásDefault logging 12291229 123123 1.51.5
2. helyLocation 2 Közös közzétett adatok naplózásaLogging common published data 36863686 369369 4,54.5
3. helyLocation 3 Alapértelmezett naplózásDefault logging 24572457 426426 3,03.0
3. helyLocation 3 Közös közzétett adatok naplózásaLogging common published data 44224422 442442 5.45.4
4. helyLocation 4 Alapértelmezett naplózásDefault logging 14741474 147147 1.81.8
4. helyLocation 4 Közös közzétett adatok naplózásaLogging common published data 26542654 265265 3.23.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.Notice the significant decrease in platform performance caused by logging of common published data. A legrosszabb forgatókönyv úgy tűnik, hogy a 2. helyen lévő közös közzétett adatmennyiséget naplózza.The worst scenario appears to be logging of common published data at Location 2. A felületen ez egyértelmű és releváns következtetésnek tűnik.On the surface, this appears to be a clear and relevant conclusion.

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.However, it should be noted that these figures reflect the overhead of the platform code, not the domain code. A tartományi szintű kód futási ideje sokkal hosszabb lehet.Domain code runtimes can be significantly longer. 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 több percig is futhat, amikor a virtuális gép létrejött.For example, the Create VM from Template activity in the Virtual Machine Manager Integration Pack may run for several minutes as the VM is created. Az előző példát kiterjesztve vegye figyelembe, hogy a platform kódja egy runbook-tevékenységre vonatkozik, amely 1 percet vesz igénybe 1 ( percenként = 60 000 ezredmásodpercen belül, a ) helytől függetlenül.Expanding on the previous example, consider the platform code costs on a runbook activity that takes 1 minute to run (1 minute = 60,000 milliseconds) regardless of location.

AdatközpontData Center Naplózási konfigurációLogging Configuration Platform kód futási ideje ( ( másodperc))Platform Code Run Time (seconds) Tartományi szintű kódra eső %% Domain Code Platformszintű kódra eső %% Platform Code
1. helyszínLocation 1 Alapértelmezett naplózásDefault logging 819819 98,6%98.6% 1,4%1.4%
1. helyszínLocation 1 Közös közzétett adatok naplózásaLogging common published data 20122012 96,7%96.7% 3,3%3.3%
2. helyLocation 2 Alapértelmezett naplózásDefault logging 12291229 98,0%98.0% 2,0%2.0%
2. helyLocation 2 Közös közzétett adatok naplózásaLogging common published data 36863686 93,9%93.9% 6,1%6.1%
3. helyLocation 3 Alapértelmezett naplózásDefault logging 24572457 95,9%95.9% 4,1%4.1%
3. helyLocation 3 Közös közzétett adatok naplózásaLogging common published data 44224422 92,6%92.6% 7,4%7.4%
4. helyLocation 4 Alapértelmezett naplózásDefault logging 14741474 97,5%97.5% 2,5%2.5%
4. helyLocation 4 Közös közzétett adatok naplózásaLogging common published data 26542654 95,6%95.6% 4,4%4.4%

A fenti adatokból tisztább kép bontakozik ki.A clearer picture begins to emerge from the data. 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.The scenario where logging of common published data is enabled at Location 2 continues to be the worst performer. A platformszintű kód lefutása és a naplózás azonban mindössze a teljes futási idő 6%-át teszi ki.However, the platform code and logging only accounts for 6% of the total runtime. Habár ez egy jelentős érték, a legjobb - esetben 1,4%.While this is a significant figure, the best-case scenario is 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.Essentially, the time spent in the domain code in the example far outweighs the time spent running platform code. 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.To put this in perspective, if you were able to completely eliminate the platform code costs, you would only see runbook performance improvements in the range of 1.4 to 7.4%.

Természetesen a világ legvalósebb - forgatókönyvei eltérőek lesznek.Of course most real-world scenarios will be different. A tevékenység viselkedése változhat attól függően, hogy mit kell tennie a tartományi kódnak.Activity behavior may change depending on what the domain code is told to do. A sablon tevékenységből származó klónozási virtuális gép például egy percet is igénybe vehet a virtuális gép klónozása 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 eltérő teljesítményű hálózatokon is lehetnek, ami hatással lehet a tartományi programkód teljesítményére is, valamint Orchestrator az adatnaplózási teljesítményt.For example, a Clone VM from Template activity may take one minute to clone a VM from Server Template A, but take 5 minutes to clone a VM from Server Template B. Also, Runbook Servers may reside on different networks with different performance characteristics which can potentially impact both domain code performance as well as Orchestrator data logging performance.

Összegezve:To summarize:

  • Gondosan fontolja meg, hogy mikor dönt a közzétett adatok naplózása mellett.Make careful decisions about when to log published data.
  • Körültekintően vegye figyelembe a közös közzétett adatok naplózásának esetleges hatásait.Carefully consider the impact of logging common published data. Ne feledje, hogy a tevékenységek futásainak száma meghatározza a naplózott adatok mennyiségét.Remember that the number of times activities run determines the volume of logged data. 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.A runbook with a small number of activities run many times can result in more data logging than a larger runbook run a small number of times.
  • Üzemi környezetben ne engedélyezze a tevékenységspecifikus közzétett adatok naplózását.Do not enable logging of activity specific published data in production environments.
  • 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.Develop an understanding of how much time your runbooks spend running domain code compared to running platform code.
  • A jelen dokumentumban vázolt módszerek segítségével becsülje meg a platformszintű kód időigényét.Estimate platform code costs using the techniques outlined in this document. 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.Use as a reference in considering where to make improvements in runbook performance.
  • 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.Use the techniques outlined in this document to gain a deeper understanding of the relative performance of your different runtime environments. 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.Identify opportunities for improvement by making normalized comparisons of your measurements.

További lépésekNext steps

Részletes útmutatást kaphat a runbookok létrehozásához a minta Runbook létrehozásához és teszteléséhez.Get step by step instructions for creating runbooks at Creating and testing a sample runbook.